Maven在多个不同项目中共享项目

时间:2015-08-18 08:47:05

标签: java maven shared-libraries

我读了很多几乎相似的问题,但是我遇到了其他问题。

我有3个项目:

  1. Project_A
  2. Project_B
  3. Project_Shared
  4. 解决方案1:本地安装的jar

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

    解决方案2:两个不同的父pom

    我也真的不想改变Project_A和Project_B结构 - 通过为它们添加两个不同的maven父pom。据我所知 - 我可以为两个模块添加父pom:Project_A和Project_Share然后我可以使用Parent项目运行Project_A。我无法直接从它运行Project_A(这会抱怨Project_Shared jar丢失 - 我是对的吗?

    理想解决方案:

    为Project_A配置maven,使得在运行Project_A之后,它将查找Project_Shared目录,编译它并获取其jar,然后使用此jar构建Project_A,并运行Project_A。

    问题:

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

    感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我是否认为Project_A和Project_B是两个不同的项目(没有一个是另一个的父项),这样它们应该是完全独立的?

Project_A和Project_B都有自己的pom.xml。两者都依赖于Project_Shared。所以Project_Shared拥有它自己的pom.xml,其他项目poms将其引用为dependencies

最初,您为Project_Shared调用mvn install。之后,您可以构建其他项目。如果要更改Project_Shared,则可以执行相同的操作,并且两个项目都应该可以进行更改。