【问题标题】:Maven Release Plugin - Access deniedMaven 发布插件 - 访问被拒绝
【发布时间】:2017-06-17 21:08:10
【问题描述】:

我正在尝试为具有以下模块的多模型项目配置 Maven 发布插件:父、模型、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: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 参数查找,但无法弄清楚我做错了什么。

【问题讨论】:

  • 运行 mvn 版本的用户没有权限推送到 git repo,可能是 ssh 密钥没有设置。首先尝试从命令行执行此操作,如果您查看日志,它将向您显示它正在尝试执行的确切 git 命令,
  • @EssexBoy 该插件设法进行推送,将 repo 上的版本从 2.4.1-SNPASHOT 更改为 2.4.1。 mvn release:prepare 命令是从命令行运行的,错误发生后我可以创建一个“git push --tags”并将创建的标签推送到仓库。
  • 这不是你的错误信息所说的吗??

标签: git maven release maven-release-plugin


【解决方案1】:

我通过阅读这篇文章找到了解决方案 - MAVEN-RELEASE-PLUGIN "UNABLE TO TAG SCM" ISSUE AND SOLUTION

如果模块与 pom-project 位于同一级别 并且需要参考

…你会得到一个误导性的错误信息:

原因:org.apache.maven.plugin.MojoFailureException:无法标记 单片机

提供者消息:git-push 命令失败。

命令输出: 错误:未找到存储库。致命:无法从远程读取 存储库。 请确保您拥有正确的访问权限和存储库 存在。

将Model、WebApplication、WebServices模块移入父级并更改每个pom.xml中的路径后,mvn release:prepare命令执行成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    相关资源
    最近更新 更多