链接JBoss 7 AS模块目录中的库

时间:2011-10-27 21:24:20

标签: java ant jboss7.x

如果JBoss AS 7中的库存在/modules目录下,那么在我的项目中引用它的最佳方法是什么?

我正在研究一个项目,该项目过去只是将每个模块的依赖项放在/lib文件夹中,与/src并行。 Ant构建只会引用那些/lib文件夹。

我不仅仅是将JBoss放在源代码控制中,尽管我不期待通过/modules子目录引用每个库。还有更好的方法吗?

如果它提供了解决问题的其他途径:我使用IntelliJ IDEA,虽然使用Ant构建而不是默认的Make构建,我们需要Ant构建才能从命令行工作。

2 个答案:

答案 0 :(得分:2)

JBoss AS7具有隐式模块依赖的概念。 JPA,CDI等模块的依赖关系将自动添加。 您可以在此处查看完整列表: https://docs.jboss.org/author/display/AS7/Implicit+module+dependencies+for+deployments

否则,您需要添加依赖项:清单条目。

此条目包含部署所需的以逗号分隔的模块名称列表。可以在应用程序服务器分发中的modules目录下看到可用的模块。

例如,要添加对javassist和apache velocity的依赖,您可以添加清单条目,如下所示:

依赖项:org.javassist export,org.apache.velocity导出服务,org.antlr

您可以在这里阅读更多内容: https://docs.jboss.org/author/display/AS7/Developer+Guide#DeveloperGuide-DeploymentModuleNames

答案 1 :(得分:1)

如果您不想使用依赖项管理器(Maven,Ivy,...),您可以检查它们或在JBoss安装文件夹中引用它们。如果您决定这样做,您可能希望有一个指向JBoss安装的变量。您需要能够区分来自JBoss和其他人的依赖关系。您需要使用我们的应用程序打包的后者,前者不能进入您的应用程序,但需要在jboss-deployment-structure.xml中引用(除非automatically provided by JBoss)。

我个人建议使用依赖项管理器,它们支持您只需要编译的依赖项,并将在运行时提供。它们还为JUnit等功能提供了测试而不是应用程序所需的功能。