2014-02-21 60 views
0

我想部署在Java肥皂WS一戰,但顯示我下面的錯誤部署爲WS錯誤的JBoss

Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "$Proxy182.setElementType(Ljavax/xml/namespace/QName;)V" the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, $Proxy182, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for interface javax/wsdl/extensions/ExtensibilityElement have different Class objects for the type javax/xml/namespace/QName used in the signature

我的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>WSLicenciaServ</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <display-name>WSLicenciaServ</display-name> 
    <servlet-name>WSLicenciaServ</servlet-name> 
    <servlet-class>app.algunDominio.webService.WSLicenciaServ</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>WSLicenciaServ</servlet-name> 
    <url-pattern>/WSLicenciaServ</url-pattern> 
    </servlet-mapping> 

</web-app> 

非常感謝你

+0

請將您的應用程序的WEB-INF/lib目錄中的jar列表貼出 – Camilo

+0

基本上說您有兩個版本的由兩個類加載器加載的javax/xml/namespace/QName類。你必須提供你的'WEB-INF/lib'內容才能更好地理解。 – IndoKnight

+0

用JARS編輯我的意見。感謝您的關注 – user3260663

回答

0

你確定你需要所有這些庫嗎?你有許多可能與jboss自己的罐子衝突的罐子,找到哪一個罐子,同時保持你的應用程序不會崩潰並不容易。你可以嘗試隔離你的部署類加載器,並讓你的應用類覆蓋服務器類。放置在您的WEB-INF目錄下名爲jboss-web.xml與此內容的文件:

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-web> 
<class-loading java2ClassLoadingCompliance="false"> 
    <loader-repository> 
     com.example:archive=unique-archive-name 
     <loader-repository-config>java2ParentDelegation=false</loader-repository-config> 
    </loader-repository> 
</class-loading> 
</jboss-web> 

com.example:archive=unique-archive-name是不是真的相關,只要它是一個獨特的名字。