2

クラスパスに異なるバージョンの 2 つのライブラリがあります。クラスローダはどのバージョンをロードしますか? どうすれば変更できますか?

4

3 に答える 3

4

あなたが持っている場合

lib-v1.jar:lib-v2.jar

それなら順調です。lib-v1.jarが最初にロードされます ( に類似PATH)。

私はおそらくこれを実際には避けたいと思います(テストなどでの使用を超えて)。そうlib-v2.jarでないライブラリクラスを参照すると混乱するlib-v1.jar可能性があります(APIが廃止された場合に可能です)。そうすれば、v2 から初期クラスをロードし、さらに v1 から共通クラスをロードすると、これらは互換性がない場合があります。

于 2013-02-25T11:03:58.270 に答える
0

このライブラリ リストを JVM に提供する順序によって異なります。

于 2013-02-25T11:02:19.060 に答える
0

Classloader には、jar のバージョンに関する情報がありません。通常、この種の状況は避ける必要があります。クラスパスに最新バージョンを保持する必要があります

于 2013-02-25T11:02:21.893 に答える