Jboss 7.2.2 应用程序部署问题



我正在同一个jboss 7.2.2上部署3个应用程序,如下所述:

a.ear
|+ META-INF
|+ applications.xml and jboss-deployment-structure.xml
|+ a.war
|+ web pages and JSP /JSF pages
|+ WEB-INF
|+ web.xml, jboss-web.xml etc.
|+ lib
|+ tag library JARs
|+ classes
|+ servlets and other classes used by web pages
|+ a.jar
|+ EJB3 bean classes
|+ META-INF
|+ ejb-jar.xml and persistence.xml
|+ lib
|+ a1.jar, a2.jar etc.
b.ear - It is using some of the libraries generated from a.ear( a1.jar, a2.jar)
|+ META-INF
|+ applications.xml and jboss-deployment-structure.xml
|+ b.war
|+ web pages and JSP /JSF pages
|+ WEB-INF
|+ web.xml, jboss-web.xml etc.
|+ lib
|+ tag library JARs
|+ classes
|+ servlets and other classes used by web pages
|+ b.jar
|+ EJB3 bean classes
|+ META-INF
|+ ejb-jar.xml and persistence.xml
|+ lib
|+ a1.jar, a2.jar, b1.jar, b2.jar etc.
c.ear - It is using some of the libraries generated from a.ear and b.ear( a1.jar, a2.jar, b1.jar, b2.jar)
|+ META-INF
|+ applications.xml and jboss-deployment-structure.xml
|+ c.war
|+ web pages and JSP /JSF pages
|+ WEB-INF
|+ web.xml, jboss-web.xml etc.
|+ lib
|+ tag library JARs
|+ classes
|+ servlets and other classes used by web pages
|+ c.jar
|+ EJB3 bean classes
|+ META-INF
|+ ejb-jar.xml and persistence.xml
|+ lib
|+ a1.jar, a2.jar, b1.jar, b2.jar, c1.jar, c2.jar etc.

当我部署前两只耳朵时,它已成功部署,没有任何问题,但是当我尝试部署 c.ear 时,由于对相同 API 的多次引用,它给了我相同的类转换异常。我希望 jboss 应该只选择我在 ear lib 文件夹中给出的罐子,而不是从部署中。我该怎么做?如何从 jboss-deployment-structure 中排除此部署(a.ear 和 b.ear(?

你能帮我解决这个问题吗?

Hello, 您可以使用 JBoss 部署结构 XML 文件来排除类/包,您可以使用排除路径:

<exclude path="***" />排除类/包。 以及<exclude-set>

例:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>     
<exclusions>
<module name="sun.jdk" />
</exclusions>   
<dependencies>
<module name="sun.jdk">
<imports>
<include-set>
<path name="example/"/>
</include-set>
<exclude-set>
<path name="path/"/>
</exclude-set>
</imports>
</module>
</dependencies>
</deployment>
</jboss-deployment-structure>

最新更新