Maven使用错误的存储库来查找依赖项

时间:2013-09-22 08:51:13

标签: maven repository

在我的settings.xml我在这样的个人资料中声明了一个自定义存储库:

    <servers>
    <server>
        <id>server.id</id>
        <username><uname></username>
        <password><pw></password>
    </server>
</servers>


<profiles>
    <profile>
        <id>dev.id</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>repo.id</id>
                <url>valid working url</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
    </profile>
</profiles>

对于位于那里的所有依赖项来说效果很好,但只要我声明位于中央存储库中的依赖项,构建就会失败。例如:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

结果:

[ERROR] Failed to execute goal on project <name>: Could not resolve dependencies for project…
…Failed to read artifact descriptor for junit:junit-dep:jar:4.9.1-SNAPSHOT: Could not transfer artifact junit:junit-dep:pom:4.9.1-SNAPSHOT from/to <server.id>…

如何正确制作maven加载依赖项?

1 个答案:

答案 0 :(得分:1)

您正在尝试使用Maven Central中没有的-SNAPSHOT依赖项。

junit:junit-dep:jar:4.9.1-SNAPSHOT: Could not transfer artifact junit:junit-dep:pom:4.9.1-SNAPSHOT fr

在Maven中心,只有可用的版本。

此外,上面的依赖关系不会通过junit进入你的构建:junit:4.11:jar依赖它必须来自其他来源。