JMS清单文件,执行jar特定的顺序

时间:2014-01-14 22:08:39

标签: java jar jms

在jar文件的清单中,列出的jar的顺序是否重要。

以前的罐子是否能够进入后面的罐子。后来的罐子能否访问前罐子

澄清一下,我的意思是在清单的Rsrc-Class-Path:中引用了两个jar文件

由于

2 个答案:

答案 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已经有一个它可以为您提供的类列表。

有关课程加载的更多信息,请参阅我在评论中提供的链接。