在maven中创建可重用的依赖定义和概要文件的最佳方式是什么?
我希望将集成测试的依赖项和概要文件外部化到一个单独的pom中,它可以包含在其他maven项目中(不是从单个父pom继承)。稍后,我可以从控制台和eclipse在不同的应用程序服务器上运行集成测试时激活配置文件。
integrations-tests
pom.xml (contains Arquillian dependencies and profiles)
profile:jboss-remote
profile:tomcat-embedded
dependencies:Arquillian,Java EE,MavenShrinkWrap etc.
project1
pom.xml
dependency:integration-tests (or other way to include)
project2
module1
pom.xml
dependency:integration-tests (or other way to include)
mvn test -P jboss-remote (profile from integrations-tests)
mvn test -P tomcat-embedded (profile from integrations-tests)我不想搞乱本地settings.xml,因为配置文件应该可以被许多开发人员和CI服务器重用。
发布于 2012-06-21 14:09:41
要实现这一点,您需要查看maven pom的<dependencyManagement>和<pluginManagement>配置。您可以在dependency management和build profiles上查看maven备注(后者注明日期)。
根据您的需求类型,您可能会遇到externalizing配置文件的挑战。
发布于 2013-09-05 16:12:26
事实上,这是一个很好也很有趣的问题。
简而言之,没有实现你想要的东西的好方法。您正在寻找类似Mix-in的东西来共享配置,但在Maven中共享配置的主要方式(目前)主要是通过继承。
因此,最好是将所有这些共享配置放在父POM中,并使用配置文件打开/关闭。然而,如果您想在一个模块中打开,而在另一个模块中关闭,这可能会很困难。
混入仅在依赖范围导入时可用。然而,它的使用是相当有限的(只影响dependencyManagement)。您可以查看一下它是否可以帮助满足您的部分需求。
https://stackoverflow.com/questions/11132186
复制相似问题