クラスパスに異なるバージョンの 2 つのライブラリがあります。クラスローダはどのバージョンをロードしますか? どうすれば変更できますか?
質問する
2634 次
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 に答える