使用来自 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>