如果JBoss AS 7中的库存在/modules
目录下,那么在我的项目中引用它的最佳方法是什么?
我正在研究一个项目,该项目过去只是将每个模块的依赖项放在/lib
文件夹中,与/src
并行。 Ant构建只会引用那些/lib
文件夹。
我不仅仅是将JBoss放在源代码控制中,尽管我不期待通过/modules
子目录引用每个库。还有更好的方法吗?
如果它提供了解决问题的其他途径:我使用IntelliJ IDEA,虽然使用Ant构建而不是默认的Make构建,我们需要Ant构建才能从命令行工作。
答案 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等功能提供了测试而不是应用程序所需的功能。