2011-02-09 85 views
4

我試圖在jboss-6.0.0Final上部署我的web應用程序,它目前部署在apache tomcat上。 我有兩個罐子,其中有一個包裝是org.apache.axis。我在<Jboss-home>/server/default/lib &中放了一個罐子,在<my-app-war>WEB-INF/lib的另一個罐子裏。如何強制jboss從webapp的lib中的jar文件中加載類

需要將兩個罐放在類路徑中。沒辦法刪除一個罐子。所以我需要保持兩個罐子。 &這是給我下面的錯誤

java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments 
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) 
    at org.apache.axis.client.Call.invoke(Call.java:1828) 

我認爲這是由於兩種不同的罐子相同的類的衝突。

現在,我想知道如何強制jboss從/ WEB-INF/lib中的axis.jar中加載該特定包的類。

我該怎麼做?

+0

爲什麼你需要把JAR放在兩個地方? – skaffman 2011-02-09 16:22:00

+0

很想知道你是否能夠孤立這場戰爭。我遇到了同樣的問題,孤立似乎並沒有工作。 – Snekse 2011-03-08 21:03:58

回答

0


這幫助我:
http://www.mastertheboss.com/jboss-configuration/solving-jboss-5-classloading-issues

爆炸你的戰爭,

在你引爆WAR的WEB-INF目錄下添加此XML文件:的jboss-classloading.xml
與內容:
(域是你的戰名)

<classloading xmlns="urn:jboss:classloading:1.0" 
      name="mywar.war" 
      domain="mywar_domain" <!-- (domain is your war name) --> 
      parent-domain="Ignored" 
      export-all="NON_EMPTY" 
      import-all="true"> 
</classloading> 
+0

這是用於JBOSS 5,但在JBOSS EAP 6中。* + Jboss正在使用模塊化依賴關係,所以這不會起作用 – rajadilipkolli 2016-09-17 06:07:11

1

我會分享一個相當簡單直接的過程,其中我h當我遇到同樣的情況時,廣告隨之而來。

1>創建一個jboss-web.xml文件。

<class-loading java2classloadingcompliance="false"> 
    <loader-repository> 
     com.rts:archive=DTH_PROD.war 
     <loader-repository-config> 
      java2ParentDelegation=false 
     </loader-repository-config> 
    </loader-repository> 
    </class-loading> 
</jboss-web> 

點:

  • 開始標記的XML這是不是在我張貼的上面的代碼 檢查3號線的代碼可見,
  • com.rts - 這是您的軟件包名稱。
  • DTH_PROD.war - 包名要保留

2>現在這個XML文件放到你的項目和voilla的WEB-INF目錄下!

此外,您可能希望參考this article瞭解詳細信息。如果您遇到任何困難解決此問題,請在下面評論。

相關問題