2014-02-21 63 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是不是真的相关,只要它是一个独特的名字。