[英]How to specify order of JAR class loading in weblogic
我有一個EAR文件,其中包含兩個不同的jar,它們共享一些具有相同package.class名稱的類。 這些JAR部署在我的APP-INF / lib目錄中。
假設一個jar包含最新版本的類,B包含舊版本的類。 當引用類時,Weblogic首先進入B jar並加載破壞某些功能的舊版本。
如何告訴Weblogic從APP-INF / lib加載B之前的jar A? 我需要定義一個特定的順序,以避免加載舊類。
我已經嘗試將a jar添加到weblogic-application.xml
<classloader-structure>
,如下所示:
EAR結構:
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版本。
你需要為class-loader設置父最后一個策略,請參考http://www.rgagnon.com/javadetails/java-0551.html ,因為我記得weblogic服務器中有一個GUI來做同樣的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.