MySQL :: MySQL Connector/J Developer Guide :: 4.3 Installing from Source (original) (raw)
Caution
You need to install Connector/J from source only if you want to build a customized version of Connector/J or if you are interested in helping us test our new code. To just get MySQL Connector/J up and running on your system, install Connector/J using a standard binary release distribution; seeSection 4.1, “Installing Connector/J from a Binary Distribution” for instructions.
To install MySQL Connector/J from source, make sure that you have the following software on your system:
Tip
It is suggested that the latest versions available for the following software be used for compiling Connector/J; otherwise, some features might not be available.
- A Git client, if you want to check out the sources from our GitHub repository (available fromhttp://git-scm.com/downloads).
- Apache Ant version 1.10.6 or newer (available fromhttp://ant.apache.org/).
- JDK 1.8.x (available fromhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html).
- The following third-party libraries:
- JUnit 5.11.3 (see installation and download information in theJUnit 5 User Guide). The following JAR files are required:
*junit-jupiter-api-5.11.3.jar
(available from, for example,https://central.sonatype.com/artifact/org.junit.jupiter/junit-jupiter-api/5.11.3/jar).
*junit-jupiter-engine-5.11.3.jar
(available from, for example,https://central.sonatype.com/artifact/org.junit.jupiter/junit-jupiter-engine/5.11.3/jar).
*junit-platform-commons-1.11.3.jar
(available from, for example,https://central.sonatype.com/artifact/org.junit.platform/junit-platform-commons/1.11.3/jar).
*junit-platform-engine-1.11.3.jar
(available from, for example,https://central.sonatype.com/artifact/org.junit.platform/junit-platform-engine/1.11.3/jar).
*junit-platform-launcher-1.11.3.jar
(available from, for example,https://central.sonatype.com/artifact/org.junit.platform/junit-platform-launcher/1.11.3/jar).
* These additional JAR files, which JUnit 5 depends on:
*apiguardian-api-1.1.2.jar
(available from, for example,https://central.sonatype.com/artifact/org.apiguardian/apiguardian-api/1.1.2/jar).
*opentest4j-1.3.0.jar
(available from, for example,https://central.sonatype.com/artifact/org.opentest4j/opentest4j/1.3.0/jar). - Javassist 3.30.2 (
javassist-3.30.2-GA.jar
, available from, for example,https://central.sonatype.com/artifact/org.javassist/javassist/3.30.2-GA/bundle). - Protocol Buffers Java API 4.29.0 (
protobuf-java-4.29.0.jar
, available from, for example,https://central.sonatype.com/artifact/com.google.protobuf/protobuf-java/4.29.0/bundle). - C3P0 0.10.1 or newer (
c3p0-0.10.1.jar
, available from, for example, https://central.sonatype.com/artifact/com.mchange/c3p0/0.10.1/jar). - Simple Logging Facade API 2.0.16 or newer (
slf4j-api-2.0.16.jar
, available from, for example,https://central.sonatype.com/artifact/org.slf4j/slf4j-api/2.0.16/jar). - Java Hamcrest 2.2 or newer (
hamcrest-2.2.jar
, available from, for example, https://central.sonatype.com/artifact/org.hamcrest/hamcrest/2.2/jar). - Oracle Cloud Infrastructure SDK for Java (
oci-java-sdk-common-3.54.0.jar
, available from, for example,https://central.sonatype.com/artifact/com.oracle.oci.sdk/oci-java-sdk-common/3.54.0/jar). - OpenTelemetry API (
opentelemetry-api-1.44.1.jar
, available from, for example,https://central.sonatype.com/artifact/io.opentelemetry/opentelemetry-api/1.44.1). - OpenTelemetry Context (
opentelemetry-context-1.44.1.jar
, available from, for example,https://central.sonatype.com/artifact/io.opentelemetry/opentelemetry-context/1.44.1). - Open Test Alliance for the JVM (
opentest4j-1.3.0.jar
, available from, for example, https://central.sonatype.com/artifact/org.opentest4j/opentest4j/1.3.0).
- JUnit 5.11.3 (see installation and download information in theJUnit 5 User Guide). The following JAR files are required:
To build MySQL Connector/J from source, follow these steps:
- Make sure that you have JDK 1.8.x installed.
- Obtain the sources for Connector/J by one of the following means:
- Download the platform independent distribution archive (in
.tar.gz
or.zip
format) for Connector/J, which contains the sources, from the Connector/J Download page. Extract contents of the archive into a folder named, for example,mysql-connector-j
. - Download a source RPM package for Connector/J from Connector/J Download page and install it.
- Check out the code from the source code repository for MySQL Connector/J located on GitHub athttps://github.com/mysql/mysql-connector-j. The latest release of the Connector/J 9.3 series is on the
release/9.3
branch; use the following command to check it out:
$> git clone --branch release/9.3 https://github.com/mysql/mysql-connector-j.git
Under the current directory, the command creates a
mysql-connector-j
subdirectory , which contains the code you want. - Download the platform independent distribution archive (in
- Place all the required third-party libraries in a the directory called
lib
at the root of the source tree (that is, inmysql-connector-j/lib
, if you have followed the steps above), or put them elsewhere and supply the location to Ant later (see Step 5 below). - Change your current working directory to the
mysql-connector-j
directory created in step 2 above. - In the directory, create a file named
build.properties
to indicate to Ant the location of the root directory for your JDK 1.8.x installation with the propertycom.mysql.cj.build.jdk
, as well as the location for the extra libraries, if they are not inmysql-connector-j/lib
, with the propertycom.mysql.cj.extra.libs
. Here is a sample file with those properties set (replace the“_pathto*
_” parts with the appropriate file paths):
com.mysql.cj.build.jdk=path_to_jdk_1.8
com.mysql.cj.extra.libs=path_to_folder_for_extra_libraries
Alternatively, you can set the values of those properties through the Ant -D
options.
6. Issue the following command to compile the driver and create a .jar
file for Connector/J:
$> ant build
This creates a build
directory in the current directory, where all the build output goes. A directory is created under the build
directory, whose name includes the version number of the release you are building. That directory contains the sources, the compiled .class
files, and a .jar
file for deployment.
For information on all the build targets, including those that create a fully packaged distribution, issue the following command:
$> ant -projecthelp
- Install the newly created
.jar
file for the JDBC driver as you would install a binary.jar
file you download from MySQL by following the instructions given inConfiguring the CLASSPATH orConfiguring Connector/J for Application Servers.