我有一个Git存储库,它包含几个Maven模块,使用Maven继承和Maven聚合。也就是说,在根目录中,有一个父POM,它定义了一些模块,每个模块都使用该根POM作为它们的父模块。
<project>
…
<groupId>io.example</groupId>
<artifactId>parent</artifactId>
<version>1.2.3-SNAPSHOT</version>
<packaging>pom</packaging>
…
<scm>
<connection>scm:git:https://bitbucket.org/example/foobar.git</connection>
<developerConnection>scm:git:https://bitbucket.org/example/foobar.git</developerConnection>
<url>https://bitbucket.org/example/foobar</url>
</scm>
…
<modules>
<module>foo</module>
<module>bar</module>
</modules>
…
我最近found out Maven会将模块路径附加到每个模块的<scm><url>
值(上面的foo
和bar
)。例如,foo
子模块的SCM网址为https://bitbucket.org/example/foobar/foo
。
我的每个模块是否应该重新声明 <scm>
部分,以便子模块POM具有与父POM相同的SCM URL?无论如何,Nexus Staging Maven插件如何使用此SCM信息?
我还交叉发布了这个at Sonatype。
答案 0 :(得分:0)
关于标题中的第一个问题:给定github中提供的代码,它不使用它。当您在所有.java文件中搜索“ scm”时,命中率为零。当然,他们可以采取一些怪异的技巧,例如像"s" + "c" + "m"
那样构建String,或者将其隐藏在某些第三方依赖项中或...
我仍然认为,除了一个正式的答案之外,这是任何局外人都能说的最好的话。