在jar文件的清单中,列出的jar的顺序是否重要。
以前的罐子是否能够进入后面的罐子。后来的罐子能否访问前罐子
澄清一下,我的意思是在清单的Rsrc-Class-Path:中引用了两个jar文件
由于
答案 0 :(得分:1)
是的,这很重要,但不是你建议的方式。 Oracle技术说明Setting the class path说(在底部):
规格顺序
指定多个类路径条目的顺序是 重要。 Java解释器将在中查找类 目录按它们出现在类路径变量中的顺序。 在上面的例子中,
(他们将类路径设置为C:\java\MyClasses;C:\java\OtherClasses
)
Java解释器将首先在目录
C:\java\MyClasses
中查找所需的类。只有当它在该目录中找不到具有正确名称的类时,解释器才会在C:\java\OtherClasses
目录中查找。
答案 1 :(得分:0)
所以为了扩展我的评论,答案仍然是否定的原因是,除了类路径hackery(我自己做了一两次)之外,每个ClassLoader都会加载Jar和类文件在代码运行之前。只有在应用程序中进行有意义的使用时才会初始化类(如访问静态字段或创建实例)。关键是,ClassLoader使用其类路径中的条目来确定加载类时的位置。当您尝试使用所述类时,ClassLoader已经有一个它可以为您提供的类列表。
有关课程加载的更多信息,请参阅我在评论中提供的链接。