在不同的应用程序中使用全局库的一种方法可以通过将它们作为模块提供来实现。 因此,通过您作为服务器提供商提供的库扩展模块。
举例: 为了让您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
有依赖关系的应用程序不会被部署在没有提供此模块的服务器上。
是否可以在不触摸服务器(全局)模块的情况下做同样的事情?即在EAR内部创建模块? – Sriram 2013-03-12 09:48:31
是否有通配符而不是指定每个库的可能性? – Inv3r53 2013-03-19 06:00:38