java - 如何强制jboss从webapp的lib中的jar中加载类

标签 java jakarta-ee deployment jboss

我正在尝试在 jboss-6.0.0Final 上部署我的 Web 应用程序,目前部署在 apache tomcat 上. 我有两个 jar ,其中一个包含相同的包装,即 org.apache.axis .我在 <Jboss-home>/server/default/lib 里放了一 jar 和 <my-app-war>WEB-INF/lib 中的另一个 jar .

需要把两个jar都放在类路径中。无法移除其中一个 jar 。所以我需要保留两个 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)

我认为这是由于两个不同 jar 中的相同类发生冲突。

现在,我想知道如何强制 jboss 从/WEB-INF/lib 中存在的 axis.jar 加载这个特定包的类。

我该怎么做?

最佳答案


这对我有帮助:
http://www.mastertheboss.com/jboss-configuration/solving-jboss-5-classloading-issues

爆发你的 war ,

在您的 Exploded WAR web-inf 目录中添加此 xml 文件:jboss-classloading.xml
内容:
(域名是你的 war 名称)

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

关于java - 如何强制jboss从webapp的lib中的jar中加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947388/

相关文章:

java - 最小化 setOnSeekBarChangeListener 样板

java - Websocket 不工作 : unexpected responce code 404

.net - 不使用 SMO 执行 TSQL?

linux - ansible ansible_default_ipv4 设置错误的接口(interface)

java - 通过单击 ListView 项目来配对两个蓝牙设备,Android

java - 在Android Studio(2.1.3)中进行调试时找不到本地变量

java - 从数组列表对象中获取产品名称

docker - 将 docker 容器传送到远程主机的最佳方法是什么?

java - 拆分一个字节数组...?

java - 无法让 Eclipse 识别我的插件