无法将共享的pom上传到Nexus

时间:2012-02-14 15:02:42

标签: maven maven-3 nexus m2e

我有一个使用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的 - <packaging>jar</packaging> 我在这里上传一个pom - <packaging>pom</packaging>

如何将共享pom上传到Nexus以便其他项目可以引用它?这是标准做法吗? 缩短了Pom文件,删除了大多数依赖项。

2 个答案:

答案 0 :(得分:3)

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

如果您的Nexus管理员已将内容发布到共享存储库,则问题可能出在存储库目标上。目标控制您允许访问的URL路径。

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

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

答案 1 :(得分:0)

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