web-dev-qa-db-ja.com

どのMySQLコネクタを使用しますか:mysql-connector-Java-5.1.46.jarまたはmysql-connector-Java-5.1.46-bin.jar違いは何ですか?

私はjdbcを初めて使用する準備をしており、MySQL用のjdbcドライバーをインストール中です。

ただし、これらのファイルのどれをEclipseのWEB_INF/libフォルダーに移動するかはわかりません。どちらも同じコンテンツを含んでいるようで、MySQLコネクタのダウンロードされたZipファイルに一緒に含まれています。

私はどこでも検索しましたが、これらのファイルのどれを使用するかを説明するドキュメントを見つけることができませんでした。

13
IqbalHamid

私はあなたが冗談を言っていると思っていましたが、Zipを https://dev.mysql.com/downloads/connector/j/ からダウンロードしただけで、実際には両方が含まれています。

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リリースノート の言及:

Oracleが提供するConnector/J 5.1のバンドルには、mysql-connector-Java-5.1.ver.jar(商用バンドルの場合は[mysql-connector-Java-commercial-5.1.ver.jar)という名前の追加のjarパッケージが含まれるようになりました。 mysql-connector-Java-5.1.ver-bin.jar(商用バンドルの場合はmysql-connector-Java-commercial-5.1.ver-bin.jar)という名前の元のパッケージを持つ他のjarパッケージと同じですが、Mavenに適したファイル名を除きます。 (バグ#27231383)

おそらく、Mavenの命名規則により近いことを考えると、これにより、ローカル/会社のMavenリポジトリーにライブラリーをインストールしやすくなります(たとえば、Maven Centralを使用したくない、または合法的に使用できない場合)。

繰り返しますが、これらは同じものであり、どちらでも使用できます。

22
Mark Rotteveel