使用来自 nexus 存储库的最新依赖项构建 Maven 项目
Building maven project with latest dependencies from nexus repository
我想 运行 每晚构建我的项目,依赖于我们自己的 Maven 工件。我们的 Maven 工件托管在我们的内部 Nexus 存储库中。
这是我目前所拥有的。
<profile>
<id>nightly</id>
<properties>
<application.server>glassfish-4</application.server>
<javaee.endorsed.version>7.0</javaee.endorsed.version>
</properties>
<dependencies>
<dependency>
<groupId>my.company</groupId>
<artifactId>ourartifact</artifactId>
<version>[1.3,)</version>
</dependency>
</dependencies>
</profile>
我定义范围 [1.3,) 这意味着 Maven 应该使用最高版本但最低 1.3。我看到的是 Maven 只考虑本地存储库(例如 1.6)的依赖项,而我们的 Nexus 存储库(例如 1.8)中有更新的版本。
我们的存储库在 pom.xml 中这样提到
<distributionManagement>
<repository>
<url>http://h2601200.stratoserver.net/repository/maven-releases/</url>
<id>maven-releases</id>
</repository>
<snapshotRepository>
<url>http://h2601200.stratoserver.net/repository/maven-snapshots/</url>
<id>maven-snapshots</id>
</snapshotRepository>
</distributionManagement>
如何让 maven 也检查我们的 nexus 存储库?
您需要在存储库 -> 存储库部分定义您的 nexus 存储库。
distributionManagement
用于在执行 mvn deploy
时部署您的工件
repositories
是您定义工件 URL 以下载 jar 文件的地方
<project>
...
<repositories>
<repository>
<id>my-company-nexus</id>
<name>My Company's Nexus Repo</name>
<url>https://my-company.repo.com/milestone</url>
</repository>
...
</repositories>
...
</project>
我想 运行 每晚构建我的项目,依赖于我们自己的 Maven 工件。我们的 Maven 工件托管在我们的内部 Nexus 存储库中。 这是我目前所拥有的。
<profile>
<id>nightly</id>
<properties>
<application.server>glassfish-4</application.server>
<javaee.endorsed.version>7.0</javaee.endorsed.version>
</properties>
<dependencies>
<dependency>
<groupId>my.company</groupId>
<artifactId>ourartifact</artifactId>
<version>[1.3,)</version>
</dependency>
</dependencies>
</profile>
我定义范围 [1.3,) 这意味着 Maven 应该使用最高版本但最低 1.3。我看到的是 Maven 只考虑本地存储库(例如 1.6)的依赖项,而我们的 Nexus 存储库(例如 1.8)中有更新的版本。 我们的存储库在 pom.xml 中这样提到
<distributionManagement>
<repository>
<url>http://h2601200.stratoserver.net/repository/maven-releases/</url>
<id>maven-releases</id>
</repository>
<snapshotRepository>
<url>http://h2601200.stratoserver.net/repository/maven-snapshots/</url>
<id>maven-snapshots</id>
</snapshotRepository>
</distributionManagement>
如何让 maven 也检查我们的 nexus 存储库?
您需要在存储库 -> 存储库部分定义您的 nexus 存储库。
时部署您的工件distributionManagement
用于在执行mvn deploy
repositories
是您定义工件 URL 以下载 jar 文件的地方
<project>
...
<repositories>
<repository>
<id>my-company-nexus</id>
<name>My Company's Nexus Repo</name>
<url>https://my-company.repo.com/milestone</url>
</repository>
...
</repositories>
...
</project>