存储库和pluginrepository之间的区别

时间:2013-01-18 09:37:45

标签: maven

我的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>

2 个答案:

答案 0 :(得分:20)

正如@ otakun85所说,根本没有技术差异。这是因为与正常工件相反,插件具有不同的配置 - &gt;行为。有关详细信息,请参阅repository vs. pluginRepository

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

答案 1 :(得分:5)

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

例如,如果您的pom.xml指定父pom和插件依赖项都存在于同一存储库中,则您仍必须指定 repositorypluginRepository。如果您只配置一个,那么maven会抱怨“无法解析的 X ”错误。