【发布时间】:2015-05-21 02:53:15
【问题描述】:
我正在尝试在托管在 Gitlab 服务器上的多模块项目上执行 mvn release:prepare。
我的主 POM 的 pom.xml 包含:
<scm>
<connection>scm:git:http://my-git-server.example.com/git/somebody/my-project.git</connection>
<url>http://my-git-server.example.com/git/somebody/my-project</url>
</scm>
当我执行mvn release:prepare -DautoVersionSubmodules=true 时,它会编译所有内容并运行测试,但随后失败:
[INFO] Executing: /bin/sh -c cd /home/somebody/git/my-project && git tag -F /tmp/maven-scm-1594218362.commit my-project-1.0.0
[INFO] Working directory: /home/somebody/git/my-project
[INFO] Executing: /bin/sh -c cd /home/somebody/git/my-project && git push http://my-git-server.example.com/git/somebody my-project-1.0.0
[INFO] Working directory: /home/somebody/git/my-project
...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project iwes-lib-master: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] fatal: repository 'http://my-git-server.example.com/git/somebody/' not found
[ERROR] -> [Help 1]
所以它告诉我 maven-release-plugin 认为我的 Git 存储库的父目录是存储库,在那里救出。
添加developerConnection 没有帮助。
尝试使用 SVN 时,失败并显示“拒绝访问:
<scm>
<connection>scm:git:http://my-git-server.example.com/git/somebody/my-project.git</connection>
<developerConnection>ssh://git@my-git-server.example.com:10022/somebody/my-project.git</developerConnection>
<url>http://my-git-server.example.com/git/somebody/my-project</url>
</scm>
给我:
[INFO] Executing: /bin/sh -c cd /home/jra/Documents/git/my-project && git push ssh://git@my-git-server.example.com:10022/somebody my-project-master-1.0.0
....
[ERROR] Access denied.
所以,它再次使用父目录。
如何强制发布插件使用我在此处声明的真实 URL?
【问题讨论】:
-
我不确定您是否找到了解决方案,但也许我的 scm 修改也适合您