如果我们有一个包含B.class的A.jar,则该文件位于JBAR / server / default / lib和EAR文件的WEB-INF / lib中。 我们已经关闭了java2ParentDelegation。 如果我们想加载一个将被加载的B.class?
如果启用java2ParentDelegation会怎么样?
答案 0 :(得分:1)
EAR文件不支持WEB-INF / lib,WAR文件可以。
如果你的意思是包含在EAR中的WAR的WEB-INF / lib,那么默认情况下,应该使用WAR'的WEB-INF / lib中的JAR中的类。
关于java2ParentDelegation
的效果,请参阅@skaffman发布的链接。
答案 1 :(得分:1)
请参阅此Wiki页面中的案例3: http://www.jboss.org/community/wiki/JBossClassLoadingUseCases
“案例3. Utility.class存在于应用程序的存档和服务器/默认/ lib中。部署范围是有限的,Java2ParentDelegation是关闭的(默认)。
简短的故事:实用程序类是从应用程序的存档中加载的。“