如何将一个 Maven 项目用作另一个 Maven 项目的依赖项?

How can I use a Maven project as a dependency to another Maven project?

我是 Maven 的新手,因此,如果我的问题过于笼统,请提前致歉。我有一个 Maven 项目,称之为 projectA,它位于我公司的 Mercurial 存储库中(我们称之为 https://hg.mycompany.com/niceprojects/)。最近,我构建了一个单独的 Maven 项目,在同一存储库中将其命名为 projectB。我现在想在 projectB 中使用我在 projectA 中的一些 类。存储库中的目录结构当前为:

-----niceprojects
       |
       |__projectA
       |     |__pom.xml
       |
       |__projectB
             |__pom.xml

执行此操作的巧妙方法是什么?我想避免手动构建 projectA,然后在 projectB 中添加它的 jars。我也想保持相同的目录结构。分步说明将不胜感激。非常感谢!

使用 Maven 时的一般建议是使用 Maven 存储库管理器,例如 Nexus。

在这种情况下,Nexus 的另一个好处是它可以托管您的 jar。

所以我建议执行以下操作:

  • 配置 CI(例如 Jenkins)作业以构建项目 A 并将 JAR 部署到您的 Nexus 实例
  • 将项目 A 声明为项目 B 中的依赖项

在构建 projectB 时,它可以从您的 Nexus 实例下载 projectA JAR,而无需您自己构建 projectA。