通常,我在Maven settings.xml中配置了以下镜像
<mirror>
<id>internal-repository</id>
<url>http://build.idaho.local/wtp_repository</url>
<mirrorOf>*</mirrorOf>
</mirror>我的理解是,这个镜像阻止了Maven从互联网上下载依赖项,即它只会在这个内部存储库中查找它们。
但是,每当我想要添加一个不在这个内部存储库中的依赖项时,我必须注释掉上面的文本,并将以下内容添加到项目的pom.xml中
<repository>
<id>internal-repository</id>
<url>http://build.idaho.local/wtp_repository</url>
</repository>当我进行这些更改时,Maven将检查本地存储库中的依赖项,如果没有找到,则从internet将其下载到本地存储库。一旦我有了我需要的依赖项,我就把我的配置改回来。
有没有一种方法可以获得我想要的行为-总是检查内部存储库,然后是公共(互联网)存储库-而不必将<repository>添加到每个项目的pom.xml中
理想情况下,我希望在settings.xml中指定此存储库一次,但似乎您只能在那里配置镜像。
发布于 2011-02-12 02:04:24
将存储库部分添加到超级pom中。让所有的项目都从超级pom延伸出来。
所以每个其他项目的pom都会有一个父节,像这样从超级pom扩展而来。
<parent>
<groupId>com.ddd.ddd.ddd</groupId>
<artifactId>ddd-ddd-parent</artifactId>
<version>1.1.1-SNAPSHOT</version>
<relativePath>./config/superpom/pom.xml</relativePath>
</parent>这样你就可以在一个pom文件中拥有存储库部分,这就是你的超级pom。您还可以添加所有项目通用的任何依赖项,如junit、log4j等。
在您的settings.xml文件中。您可以添加它来配置您的本地存储库。
<localRepository>C:/myBox/maven.repo</localRepository>https://stackoverflow.com/questions/4972288
复制相似问题