Maven Nexus私人存储库访问

时间:2012-02-09 10:44:18

标签: maven maven-2 repository nexus

我刚在本地网络中建立了一个nexus存储库。此存储库公开了对Maven中央存储库的访问权限,以及三个不同的私有托管存储库:快照发布 ext3rdparty 。所有这些存储库都是nexus中公共组的一部分,我将其用作所有存储库的中央访问点:

http://nexus.server/nexus/content/groups/public/

我的问题:使用NetBeans作为开发环境,我可以访问所有存储库 ext3rdparty 。即,当我尝试构建基于存储在ext3rdparty repo中的库的项目时,我遇到了编译错误,并且NetBeans无法找到/导航此存储库中可用的任何工件。

我怀疑这是一个settings.xml / pom.xml问题而不是NetBeans问题,因为正如我所说,我可以访问我在其他存储库中发布的工件,但我无法弄清楚是什么问题

以下是我的settings.xml的完整内容,用于将maven重定向到我自己的存储库:

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://nexus.server/nexus/content/groups/public</url>
    </mirror>
</mirrors>

<profiles>
    <profile>
        <id>nexus</id>
        <repositories>
            <repository>
                <id>central</id>
                <url>http://central</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url>http://central</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>nexus</activeProfile>
</activeProfiles>

<servers>
    <server>
        <id>nexus</id>
        <username>user</username>
        <password>***</password>
    </server>
    <server>
        <id>releases</id>
        <username>user</username>
        <password>***</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>user</username>
        <password>***</password>
    </server>
</servers>

这是我的父pom中与存储库相关的部分,允许部署:

        <distributionManagement>
            <repository>
                <id>releases</id>
                <name>Releases</name>
                <url>http://nexus.server/nexus/content/repositories/releases/</url>
            </repository>

            <snapshotRepository>
                <id>snapshots</id>
                <name>Snapshots</name>
                <url>http://nexus.server/nexus/content/repositories/snapshots/</url>
            </snapshotRepository>
        </distributionManagement>

知道什么是错的?

提前致谢!

修改

半天失利:我最终最终删除了ext3rdparty存储库中的所有依赖项,再次将它们上传到存储库,并更新了所有索引,现在一切正常......

不知道这里有什么问题,但至少pom和设置都没关系。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

如果您遇到此类问题,可以右键单击“存储库”列表中受影响的存储库并激活“修复索引”或“更新索引”,然后检查“系统源”中的状态更新系统更新。

答案 1 :(得分:1)

您是否已将ext3rdparty回购添加到公共组?

public repo configuration