如何在JBoss 7上使用外部jar?

时间:2012-03-12 06:09:11

标签: jboss7.x

现在我可以加载EAR / lib下的jar。 但是我想把罐子放到一个共同的路径上,供其他应用程序使用。 我发现jboss-deployment-structure.xml文件的标签可以做到这一点。 但它不起作用。我得到了ClassNotFound异常。 我不知道为什么?

<deployment>
   <resources>
        <resource-root path="/common/test.jar" />
   </resources>
 </deployment>

1 个答案:

答案 0 :(得分:11)

通过将全局库作为模块提供,可以实现在不同应用程序中使用全局库的一种方法。 因此,通过您作为服务器提供商提供的库扩展模块。

示例: 要使test.jar可供所有应用程序使用,请创建一个包含模块名称和main子目录的文件夹(例如modules/commons/test/main)。

将您的库放在那里以及名为module.xml的模块描述文件。 示例内容:

<module xmlns="urn:jboss:module:1.0" name="commons.test">
    <resources>
        <resource-root path="test.jar"/>
    </resources>
</module>

现在,该库可供所有应用程序使用。 要访问该模块,您的应用程序必须在清单中定义依赖项。

应用程序 MANIFEST.MF


Dependencies: commons.test

这也可以在构建期间由maven完成。 查看https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7了解详情

请注意,您正在修改服务器本身。使用您的模块的所有应用程序都依赖于它。具有模块commons.test依赖性的应用程序将不会部署在未​​提供此模块的服务器上。