Read this section only if you want to build a customized version of Connector/J from source, 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:
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.8.2 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 4.12 (
junit-4.12.jar, available from https://github.com/junit-team/junit/wiki/Download-and-Install).
Javassist 3.19 or newer (
javassist.jar, available from http://jboss-javassist.github.io/javassist/).
Protocol Buffers Java API 3.6.1 (
protobuf-java-3.6.1.jar, available from, for example, the Maven Central Repository at https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.6.1/).
C3P0 0.9.1 or newer (both
c3p0-0.9.1.x.src.zip, available from https://sourceforge.net/projects/c3p0/).
JBoss common JDBC wrapper 3.2.3 or newer (
jboss-common-jdbc-wrapper-3.2.3.jar, available from, for example, the Maven Central Repository at http://central.maven.org/maven2/jboss/jboss-common-jdbc-wrapper/).
Simple Logging Facade API 1.6.1 or newer (
slf4j-api-1.6.1.jar, available from https://www.slf4j.org/download.html).
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
.zipformat) for Connector/J, which contains the sources, from the Connector/J Download page. Extract contents of the archive into a folder named, for example,
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 8.0 series is on the
release/8.0branch; use the following command to check it out:
shell> git clone --branch release/8.0 https://github.com/mysql/mysql-connector-j.git
Under the current directory, the command creates a
mysql-connector-jsubdirectory , which contains the code you want.
Place all the required third-party libraries in a separate directory—for example,
Change your current working directory to the
mysql-connector-jdirectory created in step 2 above.
In the directory, create a file named
build.propertiesto indicate to Ant the locations of the root directories for your JDK 1.8.x installation, as well as the location of the extra libraries. The file should contain the following property settings, with the “
path_to_*” parts replaced by the appropriate file paths:
Alternatively, you can set the values of those properties through the Ant
Going from Connector/J 5.1 to 8.0, a number of Ant properties for building Connector/J have been renamed or removed; see Section 220.127.116.11, “Changes for Build Properties” for details.
Issue the following command to compile the driver and create a
.jarfile for Connector/J:
shell> ant dist
This creates a
builddirectory in the current directory, where all the build output goes. A directory is created under the
builddirectory, whose name includes the version number of the release you are building. That directory contains the sources, the compiled
.classfiles, and a
.jarfile for deployment.
For information on all the build targets, including those that create a fully packaged distribution, issue the following command:
shell> ant -projecthelp
Install the newly created
.jarfile for the JDBC driver as you would install a binary
.jarfile you download from MySQL by following the instructions given in Configuring the CLASSPATH or Configuring Connector/J for Application Servers.