我有一个具有以下结构的EAR:
ear.ear
mywar.war
lib
jar1.jar
jar2.jar
jar3.jar
我在Deployments目录中有多个WAR,我希望它们具有jar1.jar。 ear.ear中的jar2.jar和jar3.jar作为依赖项。
这可能吗?
我已经尝试过以下用于jboss-deployment-structure.xml的应用程序,但是没有运气。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="deployment.ear.ear.jar1.jar"/>
<module name="deployment.ear.ear.jar2.jar"/>
<module name="deployment.ear.ear.jar3.jar"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="deployment.ear.ear.lib.jar1.jar"/>
<module name="deployment.ear.ear.lib.jar2.jar"/>
<module name="deployment.ear.ear.lib.jar3.jar"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
是否可以在单独的EAR中具有非ejb JAR依赖项?
最佳答案
您应该能够将依赖项放在耳朵的/lib
文件夹中,并且您的战争应该会看到它们。
从JBoss AS7文档中:
耳部部署是多模块部署。这意味着并非所有
耳朵内的课程必定可以访问所有其他课程
除非已经定义了显式依赖项,否则这些类在您耳边。通过
缺省情况下,EAR / lib目录是一个模块,每个WAR或EJB
jar部署也是一个单独的模块。子部署(战争和
ejb-jars)始终依赖于父模块,这给了
他们可以访问EAR / lib中的类,但是它们并不总是具有
彼此自动依赖
您还可以阅读有关JBoss AS 7中类加载的更多信息:https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7