使用 Jetty 的 setExtraClasspath 时,预期的资源加载优先级是多少?



是否期望通过Jetty的WebAppContext.SetExtraclass PathE方法包含的.jar文件中的资源将被加载,而不是在.war中具有相同名称/路径的资源?

-

-Extra-classPath-method(

在这样做的同时,我遇到了一个问题,其中一个.jar文件现在移出了一个ehcache.xml文件,该文件似乎优先读取使用Thread.currentThread().getContextClassLoader().getResourceAsStream(“ehcache.xml”)时的.war中的文件。p>现在我知道是这样,我想如果我需要重命名该文件是唯一的,这对我来说并不是很大的不便,但是我想我想……

  • 我是否错误地加载了资源(如果是的话,我该怎么做。

  • 以前是.war版本优先(当相关的.jar被包装在.war中时(?

  • 是幸运的。
  • 这是我只需要生活的setExtraclasspath的预期缺点吗?

  • 我是否在某处错过了一些文档?

感谢Jan在Jetty-user的列表中...

afaik,我们不对额外的班级路径进行任何特殊处理。命令 添加到WebApp的urlClassloader中的路径 ClassLoader是:

  • 额外的classpath
  • Web-Inf/class
  • Web-Inf/lib/*。jar

WebApp classloader getResource(String(方法首先看起来 在看父母之前(符合Servlet Spec倒置 上课要求(,但是外观全部委派给 urlClassLoader,因此是JVM已实施的任何订购, 根据GrepCode http://grepcode.com/file/repository.grepcode.com/java/root/jdk/jdk/openjdk/6-b14/sun/sun/misc/urllclasspath.java#urllclasspath.0urls 看起来搜索顺序将如上所述。

为我的情况感到难过,但很有意义。

最新更新