【问题标题】:How to force jboss to load classes from jars in webapp's lib如何强制 jboss 从 webapp 库中的 jar 加载类
【发布时间】:2011-06-24 06:14:47
【问题描述】:

我正在尝试将我的 Web 应用程序部署在 jboss-6.0.0Final 上,该应用程序当前部署在 apache tomcat 上。 我有两个罐子,其中一个包含相同的包,即org.apache.axis。我将一个罐子放入<Jboss-home>/server/default/lib,另一个罐子放入<my-app-war>WEB-INF/lib

需要将两个 jars 放在类路径中。无法移除其中一个罐子。所以我需要保留两个罐子。 & 它给了我以下错误

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 加载这个特定包的类。

我该怎么做?

【问题讨论】:

  • 为什么要在这两个地方都放JAR?
  • 很想知道你是否能够隔离战争。我遇到了同样的问题,隔离似乎不起作用。

标签: java jakarta-ee deployment jboss


【解决方案1】:


这对我有帮助:
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>

【讨论】:

  • 这适用于 JBOSS 5,但在 JBOSS EAP 6 中。* + Jboss 使用模块化依赖,所以这不起作用
【解决方案2】:

我将分享我遇到相同情况时遵循的非常简单直接的过程。

1> 创建一个 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>

积分:

  • 以在我发布的代码中不可见的标记开始 xml 检查上述代码的第 3 行,
  • com.rts - 这是你的包名。
  • DTH_PROD.war - 您希望保留的捆绑包名称

2> 现在将此 xml 文件放入项目的 WEB-INF 目录中,瞧!!

更多信息,您不妨参考this article 了解详细信息。如果您在解决此问题时遇到任何困难,请在下方发表评论。

【讨论】:

  • 我们使用的是 JBoss 4.2.0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 2011-05-06
  • 2013-05-25
  • 2012-07-24
  • 2011-02-04
相关资源
最近更新 更多