Maven 寻找特定的存储库
Maven lookout for specific repository
我目前已经集成了 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>
我不确定我是否理解,但这可以在 Maven settings.xml 文件中完成,在此文件中您可以指定存储库策略...
此外,当你调用你想要的maven命令时,可以将repo指定为参数运行。
有关 settings.html 的更多参考:
https://maven.apache.org/settings.html
在您的 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 将简单地忽略项目的存储库。您必须指定要以这种方式忽略的每个存储库。
我目前已经集成了 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>
我不确定我是否理解,但这可以在 Maven settings.xml 文件中完成,在此文件中您可以指定存储库策略...
此外,当你调用你想要的maven命令时,可以将repo指定为参数运行。
有关 settings.html 的更多参考: https://maven.apache.org/settings.html
在您的 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 将简单地忽略项目的存储库。您必须指定要以这种方式忽略的每个存储库。