从父 POM 发布时,它的所有模块是否都具有与该父 POM 相同的发布版本和开发版本?

Maven Release Plugin 将提示每个项目的版本。

[最佳]


如何在不释放其所有模块的情况下释放父 POM?

您需要将-N标志传递给 Maven配置发布插件以 使用-Darguments标志在其分叉构建上传递-N标志。

这是一个例子:

mvn -N -Darguments=-N release:prepare
mvn -N -Darguments=-N release:perform

[最佳]


如何隐藏我的用户名和密码?

在您的settings.xml中添加一个服务器条目,您可以在其中定义您的凭据(有关详细信息,请参阅settings.xml#servers )。由于您无法在pom.xml中为scm设置 id,因此您应该添加一个指向 server-id 的属性。


  <project>
   ...
    <properties>
      <project.scm.id>my-scm-server</project.scm.id>
    </properties>
  </project>

[最佳]


如何在发布准备期间自定义提交的评论前缀?

默认情况下,插件会在注释前加上[maven-release-plugin]。您可以通过将-DscmCommentPrefix=#42添加到 Maven 命令来更改此设置。

如果您需要用换行符结束它,请添加${line.separator}

如果注释前缀包含空格字符,请用引号将参数括起来。

使用插件配置时,不能以空格结尾,因为 Plexus 会修剪内容。但是您可以像下面的示例一样以换行符结束:


  <configuration>
    <scmCommentPrefix>#42${line.separator}</scmCommentPrefix>
    ...
  </configuration>

[最佳]


为什么发布:尝试使用 “svn:路径'...'在修订版中不存在...”进行标记时准备失败

如果pom.xml没有 scm-section 但从其父级继承一个,则在尝试标记时准备目标将失败。该消息将类似于:

svn: Path '...' does not exist in revision ...

要修复它,请回滚发布,将scm部分添加到pom.xml,提交并重试发布。

[最佳]