【问题标题】:Deploy was WS error jboss部署是 WS 错误 jboss
【发布时间】:2014-02-21 20:16:33
【问题描述】:

我想在java中用soap ws部署一个war,但是显示如下错误

原因:java.lang.LinkageError:接口itable初始化中的加载程序约束冲突: 解析方法“$Proxy182.setElementType(Ljavax/xml/namespace/QName;)V”时 当前类的类加载器(org/jboss/classloader/spi/base/BaseClassLoader的实例), $Proxy182 和类加载器(org/jboss/classloader/spi/base/BaseClassLoader 的实例) 对于接口 javax/wsdl/extensions/ExtensibilityElement 有不同的 Class 对象 对于签名中使用的类型 javax/xml/namespace/QName

我的 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>

非常感谢

【问题讨论】:

  • 请在您的应用程序的WEB-INF/lib 目录中发布 jar 列表
  • 这基本上说你有两个版本的 javax/xml/namespace/QName 类由两个类加载器加载。您必须提供您的WEB-INF/lib 内容才能更好地理解。
  • 用 JARS 编辑我的 cmets。感谢您的关注
  • 我只是删除了所有库,但错误仍然存​​在。
  • jboss的版本是多少?

标签: java xml web-services servlets soap


【解决方案1】:

您确定需要所有这些库吗?您有许多可能与 jboss 自己的 jars 冲突的 jars,找到哪一个并同时防止您的应用程序崩溃并非易事。您可以尝试隔离您的部署类加载器并让您的应用程序类覆盖服务器类。在您的 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 并不真正相关,只要它是唯一的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2013-04-04
    • 2018-12-07
    • 2015-08-07
    相关资源
    最近更新 更多