我读了很多几乎相似的问题,但是我遇到了其他问题。
我有3个项目:
解决方案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。
问题:
是否有可能获得理想的解决方案?或者有更好的解决方案吗?或许我误解了什么?
感谢您的帮助!
答案 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,则可以执行相同的操作,并且两个项目都应该可以进行更改。