我在 jboss-as-7 上部署 ear,它有两个 ejb jar 和一个 war 文件。下面是 application.xml 文件的结构。
<module>
<ejb>ejb1.jar</ejb>
</module>
<module>
<web>
<web-uri>web1.war</web-uri>
<context-root>root/test</context-root>
</web>
</module>
<module>
<ejb>ejb2.jar</ejb>
</module>
这个 ear 部署需要外部库依赖,所以我在 jboss-deployment-structure.xml 文件中添加了依赖。
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
<deployment>
<dependencies>
<module name="deployment.local.fwk" export="true"/>
</dependencies>
</deployment>
<module name="deployment.local.fwk">
<resources>
<resource-root path="myclasses.jar"/>
</resources>
</module>
</jboss-deployment-structure>
我在 module/local/fwk 文件夹中有这个 jar 文件。我不确定这里缺少什么,在部署时我得到了 myclasses.jar 中存在的类的 NoClassDefFoundError。