【问题标题】:Which MySQL connector do I use: mysql-connector-java-5.1.46.jar or mysql-connector-java-5.1.46-bin.jar What is the difference?我使用哪个 MySQL 连接器:mysql-connector-java-5.1.46.jar 或 mysql-connector-java-5.1.46-bin.jar 有什么区别?
【发布时间】:2018-08-29 10:58:11
【问题描述】:

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

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

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

【问题讨论】:

  • 我可以向您保证一件事:您的计算机不会在您尝试时融化。这似乎是一个简单的打包错误,任何一个文件都应该可以工作。
  • @Gimby 不是包装错误,是故意改动,看我的回答。
  • @Gimby 当然,我会从名称中删除-bin。但我认为 Oracle 希望保留它以实现向后兼容性。
  • @MarkRotteveel 朋友,你已经得到了我的支持:) 我对这个决定的任何保留都被取消了,因为它在发行说明中得到了公开和明确的解释。

标签: java mysql jdbc mysql-connector


【解决方案1】:

我以为你在开玩笑,但我刚刚从 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 中提到了此更改:

- 修复 Bug#27231383,提供不带“-BIN”的 MAVEN 友好的商业包。

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

另外,online Connector/J 5.1.46 release notes 提到:

Oracle 提供的 Connector/J 5.1 捆绑包现在包含一个 名称为mysql-connector-java-5.1.ver.jar 的附加jar 包 (mysql-connector-java-commercial-5.1.ver.jar 用于商业 捆绑)。和原来的其他jar包一样 包名为mysql-connector-java-5.1.ver-bin.jarmysql-connector-java-commercial-5.1.ver-bin.jar 用于商业 bundles),除了它对 Maven 更友好的文件名。 (错误号 27231383)

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

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

【讨论】:

  • 您对这个问题的调查程度给我留下了深刻的印象。谢谢您的回答。这很有帮助。
猜你喜欢
  • 2016-03-14
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 2014-09-28
  • 1970-01-01
相关资源
最近更新 更多