在不同的應用程序中使用全局庫的一種方法可以通過將它們作爲模塊提供來實現。 因此,通過您作爲服務器提供商提供的庫擴展模塊。
舉例: 爲了讓您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