java-在JBoss AS 7中放置共享库的位置

我有多个Web应用程序,每个Web应用程序都使用spring-hibernate和其他开放源代码库和portlet,因此基本上每个war文件都包括那些jar文件.我如何将这些罐子移到一个公共位置,这样我就不必将它们放在每个战争文件中了?我的罐子放在D:/目录中.

我尝试创建模块,但没有成功.例如如果我加了罐子

<resources>
    <resource-root path="mylib.jar"/>
</resources>

而mylib.jar需要另一个ABC类.该ABC班级在我的WAR班级路径中.在这里加载模块时出现异常. mylib.jar找不到ABC类,并引发异常.

解决方法:

如果这些库可以在多个应用程序中重用,则最好的解决方案可能是创建JBoss模块.

例如,我正在开发的多个项目中都使用了OJDBC库.因此,我在JBoss 7:https://community.jboss.org/wiki/CreateAModuleForOracleDatasourceInJBoss711Final中添加了一个新模块(这只是一个示例).

但是您说过,您尝试创建模块,但是没有运气.怎么了遇到错误了吗?

编辑
与更新的问题有关的答案已更新.

因此,如果我理解正确,我们可以将您的库分为两类:

>第一类是“标准库”:Spring,Hibernate,Log4j等.因此,这些库可以作为模块添加到JBoss AS中,并可以在每个WAR中重用(scope =在Maven的依赖项中提供).
>任何其他非标准库(即由您自己编写的库)也可以作为模块添加.如果这些库需要其他一些依赖关系,则这些依赖关系必须在模块的XML文件中列出,如以下内容所述:https://docs.jboss.org/author/display/MODULES/Module+descriptors

希望这至少可以有所帮助:)

上一篇:java – 如何在Netbeans 6.8中为JSF 1.2中的facelets启用代码完成?


下一篇:java-Maven可以将模块部署到JBoss吗?