3

我们使用在 SVN 中管理的 maven repo。我构建了一个 jar newUtil-1.0.jar,我需要将它部署到远程仓库。我正在使用以下命令,这会导致构建失败。

mvn deploy:deploy-file -Dfile=/tmp/newUtil-1.0.jar -DgroupId=com.tareque.utils -DartifactId=newUtil -Dversion=1.0 -Dpackaging=jar -DrepositoryId=myrepo -Durl=https://<my-repo-url>

检查服务器端的日志以svn显示此消息

[2013 年 1 月 18 日星期五 11:35:47] [错误] [客户端 169.124.140.200] 提交被预提交挂钩(退出代码 1)阻止,输出:\n不允许空注释。

由此看来,带有空消息/评论的提交被阻止了。

那么,如何将提交消息的注释传递给上述maven deploy命令?

4

1 回答 1

2

不要使用部署,使用maven-release-plugin. 在这种情况下设置提交消息很容易:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-release-plugin</artifactId>
      <configuration>
        <scmCommentPrefix>re #123:</scmCommentPrefix>
      </configuration>
    </plugin>  ......

您必须首先搜索一下使用发布插件所需的任何其他设置(<scm><distributionManagement>标签,首先),但是一旦您开始mvn release:prepare release:perform工作,这个额外的配置设置将允许您修改提交消息。

相信我,一旦你正确使用了发布插件,你就不会想要回到手动发布的版本。

ETA:如果您实际上正在尝试将快照部署到 SVN(这似乎有点疯狂,我从未见过这样做过,但应该是可能的)您想要调查使用wagon-scm,以便您的<distributionManagement>部分使用scm:svn:https://your-repo-url. 如果你得到它的工作,请告诉我们!

于 2013-03-05T12:12:22.560 回答