我目前已经集成了maven,jenkins,Nexus和git,我正在学习这些工具。
我的要求是告诉maven只从我在pom.xml中提到的存储库下载我的依赖项,而不是从我的Nexus存储库中下载,但它正好相反。
我已在settings.xml中的存储库下声明了我的Nexus版本和快照存储库。如何告诉maven从特定存储库而不是从我的Nexus存储库下载我的依赖项。
下面是我的pom.xml片段
<repositories>
<repository>
<id>faq</id>
<url>https://mycheck.github.com/faq/port/hist</url>
</repository>
<repository>
<id>dig</id>
<url>https://repository.jboss.org/nexus/content/repositories/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.org</groupId>
<artifactId>faq</artifactId>
<version>${faq.version}</version>
</dependency>
<dependency>
<groupId>com.net.myorg</groupId>
<artifactId>retina</artifactId>
<version>${retina-support.version}</version>
</dependency>
........
......
</dependencies>
答案 0 :(得分:1)
在 pom.xml 中,您必须覆盖 settings.xml 中配置的存储库,以同时禁用snapshots
和releases
。例如,考虑到要在项目中忽略的 settings.xml 中的存储库my-repo
, pom.xml 必须包含:
<repositories>
<repository>
<id>my-repo</id> <!-- id must match settings.xml -->
<name>My Private Repo</name>
<url>http://repo.mycompany.org/maven2</url>
<layout>default</layout>
<!-- disable both snapshots and releases -->
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<id>
必须与您设置中配置的匹配。由于snapshots
和releases
都设置为false,因此Maven将忽略项目的存储库。您必须以这种方式指定要忽略的每个存储库。
答案 1 :(得分:0)
我不确定我理解,但这可以在maven settings.xml文件中完成,在此文件中您可以指定存储库策略...
此外,当您调用要运行的maven命令时,可以将repo指定为参数。
这是关于settings.html的更多参考: https://maven.apache.org/settings.html