【问题标题】:Unable to upload a shared pom to Nexus无法将共享 pom 上传到 Nexus
【发布时间】:2012-03-05 22:56:45
【问题描述】:

我有一个使用 spring api 的共享 pom。

pom.xml:

   <project>

        <groupId>com.spring</groupId>
        <artifactId>spring</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>pom</packaging>
        <modelVersion>4.0.0</modelVersion>

    <profiles>
        <profile>
            <id>profile</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <distributionManagement>
                <snapshotRepository>
                    <id>nexus-snapshot</id>
                    <url>https://mynexusrepo</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
    </profiles>
        <dependencies>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-aop</artifactId>
              <version>3.0.6.RELEASE</version>
            </dependency>   
        </dependencies>
    </project>

当我尝试将 pom 文件上传到快照 nexus 存储库时,我收到错误消息:
ReasonPhrase:Forbidden. -

我已经上传了其他 pom 文件,但它们是 jar 的 - &lt;packaging&gt;jar&lt;/packaging&gt; 我在这里上传一个 pom - &lt;packaging&gt;pom&lt;/packaging&gt;

如何将共享的 pom 上传到 Nexus,以便其他项目可以引用它?这是标准做法吗? Pom 文件被缩短,大部分依赖已被移除。

【问题讨论】:

    标签: maven maven-3 nexus m2e


    【解决方案1】:

    这个共享的 pom 是否属于可以通过 mvn deploy 部署的项目?它是否有正确的 scm 配置?通常的做法是通过 mvn release:prepare 和 release:perform。你是怎么试的?

    【讨论】:

    • "这个共享 pom 是否属于可以通过 mvn deploy 部署的项目?maven 项目只包含一个 pom 文件,没有其他内容。所以我应该可以只 mvn deploy 吗?"我可以使用“mvn install”安装共享 pom。在将其他项目添加到 Nexus 时,我没有使用“mvn release:prepare”。我尝试“mvn deploy”将项目上传到 Nexus,但“ReasonPhrase:Forbidden”。返回错误。
    • 您错过了 settings.xml 文件中的身份验证信息。
    • mvn release:prepare release:perform 是在这种情况下发布 pom 以及 maven 项目的正确方法
    • 但是我没有使用 maven 对 SCM 进行任何更改。目前我只需要将 .pom 及其项目添加到 Nexus。
    • 您是否检查了 settings.xml 中的权限?此外,我建议使用 maven 发布流程来发布模块/pom 等,就像通常的 maven 工件一样,这是最简单的流程。
    【解决方案2】:

    “禁止”消息将向我表明您的 nexus 用户 ID 没有发布工件的正确权限。

    如果您的 Nexus 管理员让您将内容发布到共享存储库,则问题可能与存储库目标有关。目标控制您可以访问的 URL 路径。

    以下博客文章介绍了管理 Nexus 存储库的不同方法:

    http://www.sonatype.com/people/2009/06/optimal-nexus-repository-configuration/

    【讨论】:

      猜你喜欢
      • 2020-02-17
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 2016-12-07
      • 2021-05-03
      • 1970-01-01
      相关资源
      最近更新 更多