Maven 跨多个不同项目共享项目

Maven share project across multiple different projects

我读了很多几乎相似的问题,但我遇到的问题与其他人不同。

我有 3 个项目:

  1. Project_A
  2. Project_B
  3. Project_Shared

方案一:本地安装jar

我想独立于 Project_B 开发 Project_A。但是两者都使用 Project_Share,我也想开发它 - 这就是为什么我不能 手动 从 Project_Share 制作一个 jar 并将其安装在本地 Maven 存储库中.

方案二:两个不同的父pom

我也真的不想更改 Project_A 和 Project_B 结构 - 通过为它们添加两个不同的 Maven 父 pom。据我了解-我可以为两个模块添加父 pom:Project_A 和 Project_Share 然后我可以 运行 Project_A 使用父项目。而且我不能直接从它 运行 Project_A(这会抱怨 Project_Shared jar 丢失 - 我说得对吗?

理想解:

为Project_A配置maven,这样在我运行Project_A之后,它会查找Project_Shared的目录,编译它,并获得它的jar,然后用这个 jar 构建 Project_A,然后 运行 Project_A.

问题:

能否得到理想的解决方案?或者有更好的解决方案吗?还是我误解了什么?

感谢您的帮助!

我没看错吗,Project_A 和 Project_B 是两个 不同的 项目(其中 none 是另一个的父项目)这样他们就应该完全独立了?

您有 Project_A 和 Project_B 以及他们自己的 pom.xml。两者都来自 Project_Shared。所以 Project_Shared 有它自己的 pom.xml ,它被其他项目 poms 引用为 dependencies.

最初您为 Project_Shared 调用 mvn install。之后,您可以构建其他项目。如果您想更改 Project_Shared 并且两个项目都应该可以访问更改,您可以做同样的事情。