60

我的 Android Maven 项目 pom.xml 包含以下条目。现在一切正常。<repositories>条目和条目之间有什么区别<pluginRepositories>

<repositories>
        <repository>
            <id>my-repo</id>
            <url>http://10.10.10.230:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>my-repo</id>
            <name>my-repo</name>
            <url>http://10.10.10.230:8081/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
4

2 回答 2

25

正如@otakun85 所说,根本没有技术差异。这是为了让插件具有不同的配置-> 与正常工件相反的行为。有关更多详细信息,请参阅存储库与 pluginRepository

还要检查maven-users mailing list archives,它提供了很好的解释。

于 2013-01-18T09:51:49.870 回答
10

Maven 将使用配置的pluginRepository. 其他工件依赖项(例如父 pom)使用repository. 注意:maven central 上可用的东西将默认解决,因此您通常不需要包含repository这些内容。

例如,如果你的 pom.xml 指定了一个父 pom 和一个插件依赖,它们都存在于同一个存储库中,你仍然必须同时 repository指定AND pluginRepository。如果您只配置一个,那么 maven 会抱怨“无法解决的X ”错误。

于 2017-08-25T19:37:34.533 回答