在我的應用程序中,我使用的是Joda-Time 2.0,但在我的WebLogic路徑中有庫Joda-Time 1.2。如何在WebLogic中設置JAR的順序?
如何更改順序並告訴WebLogic使用我的庫?現在它正在使用它自己的庫,而不是我的庫。我剛剛爲Joda-Time 2.0添加了一個Maven項目依賴項。
在我的應用程序中,我使用的是Joda-Time 2.0,但在我的WebLogic路徑中有庫Joda-Time 1.2。如何在WebLogic中設置JAR的順序?
如何更改順序並告訴WebLogic使用我的庫?現在它正在使用它自己的庫,而不是我的庫。我剛剛爲Joda-Time 2.0添加了一個Maven項目依賴項。
有幾種方法可以做到這一點。
如果您使用的企業應用程序,你可以在你的weblogic-application.xml中設置以下選項:
<prefer-application-packages>
<package-name>org.apache.*</package-name>
<package-name>antlr.*</package-name>
</prefer-application-packages>
,並在那裏爲喬達設置你的包名。
請注意,第一個選項可能會導致WebLogic的奇怪行爲。
請注意,由於某些原因,我無法獲得使用XML的代碼。
由於你的類存在於你的戰爭,WEB-INF/lib下,
你可以嘗試使用weblogic.xml中設置強制的WEB-INF/lib中的類優先獲得加載到該服務器/ lib與
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
不錯,它工作thx很多 – hudi
THX的另一種解決方案,但第一個是更優雅,它的工作原理,但thx無論如何 – hudi
請注意,它與優雅無關。根據您的項目具體情況,可能需要選項2和3。 JoseK確實爲Web容器工作,但如果您在ejb容器中需要它,它將會失敗。但是,如果它適合你,那麼這是你在尋找的解決方案 –
+1;選項2本身包含其他答案,選項3是我首選的方式,因爲它可以指定在應用程序級別裝入哪些庫。使用prefer-web-inf-classes是一種全有或全無的方法,並且在加載可能在服務器級共享的庫時會導致大量的重複。 – CashIsClay