java - 我使用哪个 MySQL 连接器 : mysql-connector-java-5. 1.46.jar 或 mysql-connector-java-5.1.46-bin.jar 有什么区别?

标签 java mysql jdbc mysql-connector

我正在准备第一次使用jdbc,并且正在为MySQL安装jdbc驱动程序。

但是,我不清楚将这些文件中的哪些移动到 Eclipse 中的 WEB_INF/lib 文件夹中。它们似乎都包含相同的内容,并一起包含在 MySQL 连接器的下载 zip 文件中。

我到处搜索,但找不到任何文档来解释要使用哪些文件。

最佳答案

我以为你在开玩笑,但我刚刚从 https://dev.mysql.com/downloads/connector/j/ 下载了 zip而且,事实上,它包含两者。

mysql-connector-java-5.1.46.jarmysql-connector-java-5.1.46-bin.jar 是二进制相同的,除了META-INF/INDEX.LIST(包含实际的 jar 文件名)。我已经解压了两者并使用 kdiff3 进行了比较。

简而言之:您可以使用任意一种:随心所欲。

此更改在 CHANGES 中提到:

- Fix for Bug#27231383, PROVIDE MAVEN-FRIENDLY COMMERCIAL PACKAGES WITHOUT "-BIN".

有趣的是,在 MySQL 错误跟踪器中没有错误 27231383(对于列出的“正常”错误,这个数字太高了),所以它可能来自 Oracle 中的另一个系统。

此外,online Connector/J 5.1.46 release notes提及:

The bundle for Connector/J 5.1 delivered by Oracle now contains an additional jar package with the name mysql-connector-java-5.1.ver.jar (mysql-connector-java-commercial-5.1.ver.jar for commercial bundles). It is identical with the other jar package with the original package named mysql-connector-java-5.1.ver-bin.jar (mysql-connector-java-commercial-5.1.ver-bin.jar for commercial bundles), except for its more Maven-friendly file name. (Bug #27231383)

据推测,鉴于与 Maven 命名约定更匹配,这使得在本地/公司 Maven 存储库中安装库变得更容易(例如,如果您不想要或在法律上不能使用 Maven Central)。

但要重复一遍:它们是相同的,你可以使用任何一个。

关于java - 我使用哪个 MySQL 连接器 : mysql-connector-java-5. 1.46.jar 或 mysql-connector-java-5.1.46-bin.jar 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49387428/

相关文章:

java - 如何修复此 "package does not exist"错误?

MYSQL IN 替代方案

javascript - 在 Express/Node.js 中渲染 MySQL 结果 : Cannot assign to read only property '_locals'

java - 从数据库中获取记录 Java

mysql - 连接测试中 ping 失败错误 : MySQL

java - JAX-WS header 身份验证

java - 为什么我要检查一个 Runnable,它的线程不为空​​?

java - 如何内联 MS Office 文档而不是作为附件提供服务?

mysql - 如何组合表中的某些行并将它们显示为 MySQL 中的列?

mysql - java.sql.BatchUpdateException : Row x was cut by GROUP_CONCAT()