2

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

我正在开发一个项目,该项目过去只是将每个模块的依赖项放在一个/lib文件夹中,与/src. Ant 构建将简单地引用这些/lib文件夹。

我并没有简单地将 JBoss 放在源代码控制中,尽管我不期待通过它们的/modules子目录引用每个库。有没有更好的办法?

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

4

2 回答 2

2

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

否则,您需要添加一个 Dependencies: manifest 条目。

此条目由部署所需的模块名称的逗号分隔列表组成。可用的模块可以在应用服务器分发的模块目录下看到。

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

依赖:org.javassist export,org.apache.velocity export services,org.antlr

您可以在此处阅读更多信息: https ://docs.jboss.org/author/display/AS7/Developer+Guide#DeveloperGuide-DeploymentModuleNames

于 2011-11-01T09:15:44.897 回答
1

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

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

于 2013-03-07T11:49:03.177 回答