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; see Section 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:
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 from http://git-scm.com/downloads).
Apache Ant version 1.10.6 or newer (available from http://ant.apache.org/).
JDK 1.8.x (available from https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html).
-
The following third-party libraries:
-
JUnit 5.10.2 (see installation and download information in the JUnit 5 User Guide). The following JAR files are required:
junit-jupiter-api-5.10.2.jar
(available from, for example, https://central.sonatype.com/artifact/org.junit.jupiter/junit-jupiter-api/5.10.2/jar).junit-jupiter-engine-5.10.2.jar
(available from, for example, https://central.sonatype.com/artifact/org.junit.jupiter/junit-jupiter-engine/5.10.2/jar).junit-platform-commons-1.10.2.jar
(available from, for example, https://central.sonatype.com/artifact/org.junit.platform/junit-platform-commons/1.10.2/jar).junit-platform-engine-1.10.2.jar
(available from, for example, https://central.sonatype.com/artifact/org.junit.platform/junit-platform-engine/1.10.2/jar).junit-platform-launcher-1.10.2.jar
(available from, for example, https://central.sonatype.com/artifact/org.junit.platform/junit-platform-launcher/1.10.2/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.26.1 (
protobuf-java-4.26.1.jar
, available from, for example, https://central.sonatype.com/artifact/com.google.protobuf/protobuf-java/4.26.1/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.13 or newer (
slf4j-api-2.0.13.jar
, available from, for example, https://central.sonatype.com/artifact/org.slf4j/slf4j-api/2.0.13/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.41.2.jar
, available from, for example, https://central.sonatype.com/artifact/com.oracle.oci.sdk/oci-java-sdk-common/3.41.2/jar).OpenTelemetry API (
opentelemetry-api-1.38.0.jar
, available from, for example, https://central.sonatype.com/artifact/io.opentelemetry/opentelemetry-api/1.38.0).OpenTelemetry Context (
opentelemetry-context-1.38.0.jar
, available from, for example, https://central.sonatype.com/artifact/io.opentelemetry/opentelemetry-context/1.38.0).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).
-
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 at https://github.com/mysql/mysql-connector-j. The latest release of the Connector/J 9.0 series is on the
release/9.0
branch; use the following command to check it out:$> git clone --branch release/9.0 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.
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 “path_to_*
” 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.NoteGoing from Connector/J 5.1 to 8.0 and beyond, a number of Ant properties for building Connector/J have been renamed or removed; see Section 4.4.1.4, “Changes for Build Properties” for details.
-
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 thebuild
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 in Configuring the CLASSPATH or Configuring Connector/J for Application Servers.