我有一个很大的multimodules项目,我想指定Maven的SCM信息。 但是,每个模块和父项目都在SVN上有一个专用文件夹,所以似乎SCM信息是针对每个模块的。Maven:SCM和多模块项目
我需要为连接和developerConnection元素使用哪个值?我需要为每个模块配置SCM还是可以在父项目中配置一次?
由于
我有一个很大的multimodules项目,我想指定Maven的SCM信息。 但是,每个模块和父项目都在SVN上有一个专用文件夹,所以似乎SCM信息是针对每个模块的。Maven:SCM和多模块项目
我需要为连接和developerConnection元素使用哪个值?我需要为每个模块配置SCM还是可以在父项目中配置一次?
由于
我测试两种方案:
仅在父,聚甲醛级别上定义配置;
在parent-pom和submodule级别定义配置。
如果您在父POM项目尝试mvn -DdryRun=true release:prepare
,你会得到一个release.properties文件,显示你,如果它实际上执行的准备目标释放配置行家会用。
从那里,你可以看到,当测试第一个场景,maven不会标记子模块。您只会看到一个project.scm.[groupId]\:[artifactId].url
属性。 测试第二种方案,并且在子模块级别完成scm配置,您将为每个子模块获取一个属性。
我的结论是,对于平面多模块项目结构,您应该在父级和模块级别定义scm,每个级别指向该pom所在的scm目录。