JBoss 6.4 类加载

JBoss 6.4 classloading

我有一个包含多个 .war 的 .ear,我想将它部署到 jboss 6.4.7 服务器中。问题是 .war 之一正在使用 jboss 的模块 (hibernate-jpa-2.0),但应用程序需要 hibernate-jpa-2.1 版本。如何告诉我的 war 没有使用这个 jboss 模块。我在 Ear/application/META-INF 中添加了一个 jboss-deployment-structure,但排除了:

<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>

<sub-deployment name="myapp.war">
        <exclusions>
            <module name="javax.persistence.api" /> 
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>

但不工作..

"javax.persistence.api"写在jboss服务器的module.xml上。

感谢您的帮助。

添加关注

<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
    <sub-deployment name="myapp.war">
    <exclude-subsystems>
        <subsystem name="jpa" />
    </exclude-subsystems>
    <exclusions>
        <module name="javaee.api" />
    </exclusions>
        </sub-deployment>
    </jboss-deployment-structure>

A subsystem is the set of capabilities added by an extension.It defines how it will be used and configured. It is also defined in the EAP configuration file (standalone.xml or domain.xml) using the tag under a profile. For every extension added in an EAP instance, the capabilities and attributes of that extension are configured with the <subsystem> element.

另一种选择是将 JBOSS 中的 jar 替换为较新的