nexus-staging-maven-plugin如何使用<scm>信息?

时间:2018-05-27 22:51:19

标签: java maven nexus

我有一个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>值(上面的foobar)。例如,foo子模块的SCM网址为https://bitbucket.org/example/foobar/foo

我的每个模块是否应该重新声明 <scm>部分,以便子模块POM具有与父POM相同的SCM URL?无论如何,Nexus Staging Maven插件如何使用此SCM信息?

我还交叉发布了这个at Sonatype

1 个答案:

答案 0 :(得分:0)

关于标题中的第一个问题:给定github中提供的代码,它不使用它。当您在所有.java文件中搜索“ scm”时,命中率为零。当然,他们可以采取一些怪异的技巧,例如像"s" + "c" + "m"那样构建String,或者将其隐藏在某些第三方依赖项中或... 我仍然认为,除了一个正式的答案之外,这是任何局外人都能说的最好的话。