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

问题描述 投票:4回答:2

我正在尝试在jboss-6.0.0Final上部署我的Web应用程序,apache tomcat目前部署在org.apache.axis上。我有两个罐子,其中包含相同的包装,即<Jboss-home>/server/default/lib。我在<my-app-war>WEB-INF/lib放了一个罐子,在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放在类路径中。无法移除其中一个罐子。所以我需要保留两个罐子。它给了我以下错误

http://www.mastertheboss.com/jboss-configuration/solving-jboss-5-classloading-issues

我认为这是由于两个不同的罐子里的相同类别的冲突。

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

我怎样才能做到这一点?

java java-ee deployment jboss
2个回答
0
投票

这对我有所帮助: <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> 爆炸你的战争, 在Exploded WAR web-inf目录中添加此xml文件:jboss-classloading.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>

0
投票

当我遇到同样的情况时,我将分享我所遵循的非常简单和直接的过程。

1>创建一个jboss-web.xml文件。

this article

要点:,

  • 从我发布的代码中看不到的标签开始xml检查上面代码的第3行,
  • com.rts - 这是你的包名。
  • DTH_PROD.war - 您希望保留的包的名称

2>现在将这个xml文件放入项目的WEB-INF目录中,然后!!

您还可以参考qazxswpoi获取详细信息。如果您在解决此问题时遇到任何困难,请在下面评

© www.soinside.com 2019 - 2024. All rights reserved.