【发布时间】:2021-04-16 10:27:16
【问题描述】:
如果.m2文件夹和javaclasspath中都有相同版本或不同版本的jars,则java首先试图找到罐子?以及哪条路径将是最高优先级?。
【问题讨论】:
-
这没有任何意义:Java 不只是随意决定在
.m2文件夹中搜索 JAR。它将占用类路径上的任何内容,仅此而已。因此,如果您在 .m2 中有版本 1,而在类路径中的某处有版本 2,则只会加载版本 2。 .m2 中的 jar 文件将通过将它们放在类路径中来使用。 -
感谢您的宝贵时间和回答。
-
@Joachim Sauer:你的意思是:如果我有一个版本 1 和版本 2 都在类路径中,那么 Java 会考虑版本 2 对吗?用于编译和运行时。
-
不,这根本不是我写的或想表达的意思。如果类路径中有某些类的多个版本,则将加载类路径中较早的版本。但这仍然会导致版本 2 中的类被加载,而版本 1 中不存在这些类并导致不兼容。
-
好的。谢谢,我明白了。
标签: java maven jar version classpath