我对Java类路径变量有疑问。
如果我有多个具有相同类的jar,jvm在运行时使用哪个jars。类路径中列出的第一个,最后一个,还是未定义?
由于
答案 0 :(得分:5)
这是第一个找到的。见Java Tip 105: Mastering the classpath with JWhich:
特别重要,而且很多 惊愕,班级装载机会 按照它们出现的顺序加载类 在类路径中。从...开始 第一个类路径入口,类 loader访问每个指定的目录 或存档文件试图找到 要加载的类。第一类吧 找到正确名称的加载, 和任何剩余的类路径条目 被忽略了。
在实践中,一旦你开始将多个类加载器放入混合中,它会变得更复杂,但基本上它是先进先出。