Maven 发布插件 - 访问被拒绝
Maven Release Plugin - Access denied
我正在尝试为具有以下模块的多模型项目配置 Maven 发布插件:parent、Model、WebApplication、WebServices。
作为测试,我已经将插件用于一个简单的项目,但对于这个项目,我无法做到。
parent\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>
I 运行 来自父模块的 mvn release:prepare。
插件要求每个模块的新版本和开发的新版本。它将版本从 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 连接到远程并测试了从父模块提交、推送和创建标签,所有这些都工作正常(因为我没有得到权限被拒绝或类似的东西,我不不认为这是一个问题)。此外,该插件在将版本更改为 2.4.1(删除 SNAPSHOT)后设法进行推送。
我试过使用 -X 参数查看,但无法确定我做错了什么。
我通过阅读这篇文章找到了解决方案 - MAVEN-RELEASE-PLUGIN "UNABLE TO TAG SCM" ISSUE AND SOLUTION。
In case the modules are located on the same level as the pom-project
and need to be referenced
…you will get a misleading error message:
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to tag
SCM
Provider message: The git-push command failed.
Command output:
ERROR: Repository not found. fatal: Could not read from remote
repository.
Please make sure you have the correct access rights and the repository
exists.
将模型、WebApplication、WebServices 模块移动到父级并更改每个 pom.xml 中的路径后,mvn release:prepare 命令成功执行。
我正在尝试为具有以下模块的多模型项目配置 Maven 发布插件:parent、Model、WebApplication、WebServices。
作为测试,我已经将插件用于一个简单的项目,但对于这个项目,我无法做到。
parent\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>
I 运行 来自父模块的 mvn release:prepare。
插件要求每个模块的新版本和开发的新版本。它将版本从 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 连接到远程并测试了从父模块提交、推送和创建标签,所有这些都工作正常(因为我没有得到权限被拒绝或类似的东西,我不不认为这是一个问题)。此外,该插件在将版本更改为 2.4.1(删除 SNAPSHOT)后设法进行推送。
我试过使用 -X 参数查看,但无法确定我做错了什么。
我通过阅读这篇文章找到了解决方案 - MAVEN-RELEASE-PLUGIN "UNABLE TO TAG SCM" ISSUE AND SOLUTION。
In case the modules are located on the same level as the pom-project and need to be referenced
…you will get a misleading error message:
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to tag SCM
Provider message: The git-push command failed.
Command output: ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
将模型、WebApplication、WebServices 模块移动到父级并更改每个 pom.xml 中的路径后,mvn release:prepare 命令成功执行。