我正在尝试为多模型项目配置Maven Release Plugin,该项目包含以下模块:parent,Model,WebApplication,WebServices。
我已经让插件适用于一个简单的项目作为测试,但对于这个项目,我还没有。
父\ pom.xml的
....
<version>2.4.1-SNAPSHOT</version>
.....
<distributionManagement>
<repository>
<id>release</id>
<url>file://git.comapany.ro/dragos.geornoiu/test.git</url>
</repository>
</distributionManagement>
<scm>connection>scm:git:git@git.company.ro:dragos.geornoiu/test.git</connection></scm>
....
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>2.8</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
</plugin>
....
</plugins>
其他模块采用父pom中的版本:
<parent>
...
<version>2.4.1-SNAPSHOT</version>
</parent>
我运行mvn release:从父模块准备。
该插件要求提供每个模块的新版本以及用于开发的新版本。它将版本从2.4.1-SNAPSHOT更改为2.4.1,创建一个本地标记,但在那里停止。标签未被推送,开发版本未更改为2.4.2-SNPASHOT。
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] Access denied.
[ERROR] fatal: Could not read from remote repository.
[ERROR]
[ERROR] Please make sure you have the correct access rights
[ERROR] and the repository exists.
我正在使用ssh连接到遥控器并测试了提交,推送并从父模块创建了一个标签,所有这些工作都很好(因为我没有得到许可被拒绝或类似的东西,我不会&#39;认为这是一个问题)。此外,插件在将版本更改为2.4.1(删除SNAPSHOT)后设法进行推送。
我已尝试使用-X参数查看,但无法使用&#39;想一想我做错了什么。
答案 0 :(得分:1)
我通过阅读本文找到了解决方案 - MAVEN-RELEASE-PLUGIN "UNABLE TO TAG SCM" ISSUE AND SOLUTION。
如果模块与pom项目位于同一级别 并且需要引用
...您将收到误导性错误消息:
引起:org.apache.maven.plugin.MojoFailureException:无法标记 SCM
提供者消息:git-push命令失败。
命令输出: 错误:未找到存储库。致命:无法从远程读取 库。 请确保您拥有正确的访问权限和存储库 存在。
将Model,WebApplication,WebServices模块移动到父级并更改每个pom.xml中的路径后,mvn release:prepare命令成功执行。