Wildfly 上的轴 1
Posted
技术标签:
【中文标题】Wildfly 上的轴 1【英文标题】:Axis1 on Wildlfy 【发布时间】:2016-12-27 01:19:03 【问题描述】:试图在 Wildfly 10.0.0 上部署战争。最终独立出现以下错误:
java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.axis.description.TypeDesc.setXmlType(Ljavax/xml/namespace/QName;)V"
the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, mypackage/MyClass,
and the class loader (instance of org/jboss/modules/ModuleClassLoader) for the method's defining class, org/apache/axis/description/TypeDesc,
have different Class objects for the type javax/xml/namespace/QName used in the signature
wildfly-10.0.0.Final\modules\org\apache\axis\jaxrpc\main\axis-jaxrpc-1.4.jar\javax\xml\namespace\QName.class 主要版本:47jdk1.8.0 _60\jre\lib\rt.jar\javax\xml\namespace\QName.class 主要版本:52
我已阅读Class Loading in WildFly,但不知道正确的“特定顺序”是什么:
Java 应用程序中常见的错误来源包括 API 部署中的类也由容器提供。这 可能会导致创建类的多个版本,并且 部署未能正确部署。为了在 WildFly 中防止这种情况, 模块依赖项以特定顺序添加,应该防止 这种情况不会发生。
jboss-deployment-structure.xml 包含:
<module name="org.apache.axis.axis" />
pom.xml 包含:
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
<scope>provided</scope>
</dependency>
wildfly-10.0.0.Final\modules\org\apache\axis\axis\main\module.xml:
<module xmlns="urn:jboss:module:1.1" name="org.apache.axis.axis">
<resources>
<resource-root path="axis-1.4.jar"/>
</resources>
<dependencies>
<module name="org.apache.axis.jaxrpc"/>
<module name="org.apache.axis.saaj"/>
<module name="org.apache.axis.wsdl4j"/>
<module name="org.apache.commons.discovery"/>
<module name="org.apache.commons.logging"/>
<module name="javax.activation.api"/>
<module name="javax.api"/>
<module name="javax.mail.api"/>
<module name="javax.servlet.api"/>
</dependencies>
</module>
wildfly-10.0.0.Final\modules\org\apache\axis\jaxrpc\main\module.xml:
<module xmlns="urn:jboss:module:1.1" name="org.apache.axis.jaxrpc">
<resources>
<resource-root path="axis-jaxrpc-1.4.jar"/>
</resources>
</module>
【问题讨论】:
你解决过这个问题吗??..遇到同样的问题 【参考方案1】:使用本地资源而不是用户依赖解决了这个问题。 从 jboss-deployment-structure.xml 中移除:
<module name="org.apache.axis.axis" />
pom.xml(不再提供范围):
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-saaj</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>axis</groupId>
<artifactId>axis-wsdl4j</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
【讨论】:
以上是关于Wildfly 上的轴 1的主要内容,如果未能解决你的问题,请参考以下文章