2017-08-08 70 views
1

这已经在少数地方问过。存储库vs插件库

但答案含糊不清。

所以让我再问一次。

阿帕奇Maven的说,在http://maven.apache.org/ref/3.5.0/maven-model/maven.html

  • 库/库*名单(很多)的 远程资源库,用于发现依赖关系和扩展的列表。
  • pluginRepositories/pluginRepository *名单(很多)的远程资源库,用于发现插件的 列表建立 和报告。

但是,有人可以解释这是什么。我发现了依赖关系。但是“发现构建和报告的插件”意味着什么。和“发现扩展”?

回答

1

PluginRepository是maven搜索maven插件的地方。这就是为什么它提到构建(构建生命周期)和报告(站点生命周期)。例如。这是在maven-compile-pluginmaven-surefire-plugin存在

正常库用于依赖于你的应用程序,即部分<dependencies><dependencyManagement>。它可能是您的junitcommons-logging或您需要的任何罐子。

通常他们都可以指向相同的存储库,事实上在默认情况下,它们都指向Maven Central,但是您可能需要一些特殊的位置,或者在存储库上有不同的更新策略。

我发现了一个例子,一个Spring项目,在这里你可以看到他们两个正在使用(底部):https://github.com/spring-projects/spring-data-jpa/blob/master/pom.xml

<repositories> 
    <repository> 
     <id>spring-libs-snapshot</id> 
     <url>https://repo.spring.io/libs-snapshot</url> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>spring-plugins-release</id> 
     <url>https://repo.spring.io/plugins-release</url> 
    </pluginRepository> 
</pluginRepositories> 

它们都指向两个不同的网址,因此,Maven插件和依赖关系取自两个不同的地方