我有一个EAR文件,其中包含两个不同的EAR,这两个EAR共享一些具有相同package.class名称的类。这些JAR部署在我的APP-INF/lib目录中。
假设A jar包含最新版本的类,B包含旧版本的类。当一个类被引用时,Weblogic首先查看break并加载旧版本,这会破坏一些功能。
如何从APP-INF/lib告诉Weblogic在加载B之前加载jar A?我需要定义一个特定的顺序来避免加载旧的类。
我已经尝试将jar添加到weblogic-application.xml中的<classloader-structure>,如下所示:
耳朵结构:
EAR
\--->A.jar
\--->webapp.war
.....weblogic-application.xml:
<classloader-structure>
<module-ref>
<module-uri>A.jar</module-uri>
</module-ref>
.......
</classloader-structure>但是它抛出错误说
weblogic.management.DeploymentException: classloader-structure element in weblogic-application.xml is referencing the module-uri A.jar which does not exist in this application.还要记住的一件事是,A.jar不是一个模块、war或EJB,它只是一个简单的hibernate库:hibernate-jpa-2.0-api-1.0.1.Final.jar。
我使用的是Weblogic 12c版本。
发布于 2015-07-23 18:02:21
你需要为类加载器设置父策略,参考http://www.rgagnon.com/javadetails/java-0551.html,因为我记得在weblogic服务器中有一个图形用户界面可以做同样的事情。
https://stackoverflow.com/questions/31583968
复制相似问题