Maven:SCM和多模块项目

时间:2011-12-07 15:10:23

标签: maven multi-module

我有一个很大的多模块项目,我想为Maven指定SCM信息。 但是,每个模块和父项目在SVN上都有一个专用文件夹,因此SCM信息似乎是特定于每个模块的。

我需要为连接和developerConnection元素使用哪个值?我是否需要为每个模块配置SCM,或者可以在父项目中配置一次?

由于

1 个答案:

答案 0 :(得分:5)

我测试了两种情况:

  • 仅在父pom级别定义配置;

  • 在父pom和子模块级别定义配置。

如果您在父pom项目上尝试mvn -DdryRun=true release:prepare,您将获得一个release.properties文件,该文件显示maven在实际执行准备目标时将使用的版本配置。

从那里,您可以看到,在测试第一个场景时,maven不会标记子模块。您只会看到一个project.scm.[groupId]\:[artifactId].url属性。 测试第二个场景,同时在子模块级别完成scm配置,你将获得每个子模块的一个属性。

我的结论是,对于平面多模块项目结构,你应该在父pom和模块级别定义scm,每个都指向这个pom所在的scm目录。