我正在尝试在jboss-6.0.0Final
上部署我的Web应用程序,该应用程序当前部署在apache tomcat
上。
我有两个罐子,其中包含org.apache.axis
相同的包装。我在<Jboss-home>/server/default/lib
&amp; <my-app-war>WEB-INF/lib
中的另一个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)
我认为这是由于两个不同罐子中相同类别的冲突。
现在,我想知道如何强制jboss从/ WEB-INF / lib中的axis.jar加载这个特定包的类。
我该怎么做?
答案 0 :(得分:0)
这帮助了我:
http://www.mastertheboss.com/jboss-configuration/solving-jboss-5-classloading-issues
爆炸你的战争,
在Exploded WAR web-inf目录中添加以下xml文件:jboss-classloading.xml
内容:
(域名是你的战争名称)
<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>
答案 1 :(得分:0)
当我遇到同样的情况时,我会分享一个非常简单直接的过程。
1&GT;创建 jboss-web.xml 文件。
<class-loading java2classloadingcompliance="false">
<loader-repository>
com.rts:archive=DTH_PROD.war
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
<强>点数:强>,
2 - ;现在将此xml文件放入项目的WEB-INF目录中,然后发送!!
您还可以参考this article了解详细信息。如果您在解决此问题时遇到任何困难,请在下方发表评论。