仅当您想要构建 Connector/J 的自定义版本或者您有兴趣帮助我们测试新代码时,才需要从源代码安装 Connector/J。要在您的系统上启动并运行 MySQL Connector/J,请使用标准二进制发行版安装 Connector/J;有关说明,请参阅 第 4.1 节“从二进制分发版安装 Connector/J”。
要从源代码安装 MySQL Connector/J,请确保您的系统上有以下软件:
建议使用以下软件的最新版本编译Connector/J;否则,某些功能可能不可用。
一个 Git 客户端,如果您想从我们的 GitHub 存储库(可从 http://git-scm.com/downloads获得)中查看源代码。
Apache Ant 版本 1.10.6 或更新版本(可从 http://ant.apache.org/获得)。
JDK 1.8.x(可从 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html获得)。
-
以下第三方库:
-
JUnit 5.6(请参阅 JUnit 5 用户指南中的安装和下载信息)。需要以下 JAR 文件:
junit-jupiter-api-5.8.2.jar
(例如,可从 https://search.maven.org/artifact/org.junit.jupiter/junit-jupiter-api/5.8.2/jar获得)。junit-jupiter-engine-5.8.2.jar
(例如,可从 https://search.maven.org/artifact/org.junit.jupiter/junit-jupiter-engine/5.8.2/jar获得)。junit-platform-commons-1.8.2.jar
(例如,可从 https://search.maven.org/artifact/org.junit.platform/junit-platform-commons/1.8.2/jar获得)。junit-platform-engine-1.8.2.jar
(例如,可从 https://search.maven.org/artifact/org.junit.platform/junit-platform-engine/1.8.2/jar获得)。junit-platform-launcher-1.8.2.jar
(例如,可从 https://search.maven.org/artifact/org.junit.platform/junit-platform-launcher/1.8.2/jar获得)。-
JUnit 5 所依赖的这些额外的 JAR 文件:
apiguardian-api-1.1.2.jar
(例如,可从 https://search.maven.org/artifact/org.apiguardian/apiguardian-api/1.1.2/jar获得)。opentest4j-1.2.0.jar
(例如,可从 https://search.maven.org/artifact/org.opentest4j/opentest4j/1.2.0/jar获得)。
Javassist 3.28.0(
javassist 3.28.0-GA.jar
例如,可从 https://search.maven.org/artifact/org.javassist/javassist/3.28.0-GA/bundle获得)。Protocol Buffers Java API 3.19.4(
protobuf-java-3.19.4.jar
例如,可从 https://search.maven.org/artifact/com.google.protobuf/protobuf-java/3.19.4/bundle获得)。Simple Logging Facade API 1.7.35 或更新版本(
slf4j-api-1.7.35.jar
例如,可从 https://search.maven.org/artifact/org.slf4j/slf4j-api/1.7.35/jar获得)。Java Hamcrest 2.2 或更新版本(
hamcrest-2.2.jar
例如,可从 https://search.maven.org/artifact/org.hamcrest/hamcrest/2.2/jar获得)。适用于 Java 的 Oracle Cloud Infrastructure SDK(
oci-java-sdk-common-2.14.1.jar
例如,可从 https://search.maven.org/artifact/com.oracle.oci.sdk/oci-java-sdk-common/2.14.1/jar获得)。
-
要从源代码构建 MySQL Connector/J,请执行以下步骤:
确保安装了 JDK 1.8.x。
-
通过以下方式之一获取 Connector/J 的源代码:
从Connector/J 下载页面 下载 Connector/J 的独立于平台的分发存档(
.tar.gz
格式.zip
),其中包含源代码 。将存档的内容提取到一个名为的文件夹中,例如 .mysql-connector-j
-
从Connector/J 下载页面下载 Connector/J 的源 RPM 包 并安装它。
-
从位于https://github.com/mysql/mysql-connector-j 的 GitHub 上的 MySQL Connector/J 源代码存储库中查看代码 。Connector/J 8.0系列最新发布在
release/8.0
分支;使用以下命令检查它:$> git clone --branch release/8.0 https://github.com/mysql/mysql-connector-j.git
在当前目录下,该命令创建一个
mysql-connector-j
子目录,其中包含您想要的代码。
将所有需要的第三方库放在
lib
源代码树的根目录中(即mysql-connector-j/lib
,如果您已执行上述步骤,则放在 中),或者将它们放在其他位置,稍后将位置提供给 Ant(请参阅第 5 步)以下)。将当前工作目录更改为
mysql-connector-j
在上面第 2 步中创建的目录。-
在该目录中,创建一个名为的文件,以
build.properties
向 Ant 指示 JDK 1.8.x 安装的根目录的位置,属性com.mysql.cj.build.jdk
为 ,以及额外库的位置(如果它们不在 中mysql-connector-j/lib
),属性为com.mysql.cj.extra.libs
。这是设置了这些属性的示例文件(将 “path_to_*
”部分替换为适当的文件路径):com.mysql.cj.build.jdk=path_to_jdk_1.8 com.mysql.cj.extra.libs=path_to_folder_for_extra_libraries
-D
或者,您可以通过 Ant选项 设置这些属性的值。笔记从 Connector/J 5.1 到 8.0,许多用于构建 Connector/J 的 Ant 属性已被重命名或删除;有关详细信息,请参阅 第 4.4.1.4 节,“构建属性的更改”。
-
发出以下命令编译驱动程序并
.jar
为 Connector/J 创建一个文件:$> ant dist
这会
build
在当前目录中创建一个目录,所有构建输出都放在该目录中。在该目录下创建一个build
目录,其名称包括您正在构建的版本号。该目录包含源代码、编译.class
后的文件和.jar
用于部署的文件。有关所有构建目标的信息,包括创建完全打包分发的目标,请发出以下命令:
$> ant -projecthelp
按照配置 CLASSPATH或 为应用程序服务器配置 Connector/J 中给出的说明,安装为 JDBC 驱动程序 新创建的
.jar
文件,就像安装.jar
从 MySQL 下载的二进制文件 一样。