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 回答