两个不同的项目,在maven中有一个共享的依赖项目

时间:2010-07-20 20:50:08

标签: maven-2 parent-child projects multiple-projects

我有两个项目,“appA”和“appB”,每个项目依赖于第三个项目,“常见”。我正在将它们从蚂蚁转移到maven,但是我很难找出在maven中做到这一点的最佳方法。我的文件夹结构如下所示:

root
+ common  
+ appA  
+ appB  

我已经能够将一个父pom.xml添加到根目录,并将通用,appA和appB作为此父项目的模块来获取appA和appB,但这不是我想要的,一个根pom .xml不合适,因为appA和appB是完全不相关的项目。

我希望appA和appB是独立的maven项目,它们都依赖于第三个常见项目并在必要时构建它,这样我就可以进入appA或appB文件夹并键入“mvn package”来构建分别是appA + common或appB + common。这就是我在Ant中设置它的方法,但在maven中可能没有适当的并行。非常感谢任何正确方向的帮助或推动:)

1 个答案:

答案 0 :(得分:0)

  

(...)但这不是我想要的,因为appA和appB是完全不相关的项目,因此根pom.xml不合适。

然后不要这样做,如果你不想使用聚合,只需在common的POM和{{1的POM中'声明appA作为依赖关系}}。像这样:

appB

依赖关系通过本地存储库解决,因此您必须首先<project> <modelVersion>4.0.0</modelVersion> <groupId>foo</groupId> <artifactId>appA</artifactId> <packaging>jar</packaging> <version>X-SNAPSHOT</version> ... <dependencies> <dependency> <groupId>bar</groupId><!-- at your discretion --> <artifactId>common</artifactId> <version>Y.Z-SNAPSHOT</version> </dependency> ... </dependencies> ... </project> mvn install项目(并且在进行任何更改后使其“可见”)。

在开发过程中,通常的做法是在IDE中导入依赖项目,并将它们配置为依赖项目 in 工作区(vs二进制依赖项)。这样可以保存common步骤以使更改可见。大多数IDE都支持这种方法。