在多模块Maven项目中工作,将其称为“app”.我需要处理其中一个依赖项的源代码,称之为“lib”,并且能够根据我在“lib”中的更改轻松地测试/调试“app”.
在Eclipse中,这是它的Maven和Gradle插件的一个选项,并且很明显,因为Eclipse没有像IntelliJ那样严格地绑定“workspace”和“project”的概念.当我克隆了“lib”的repo时,IntelliJ提出为它创建一个新项目,但是如何强制“app”使用“lib”的本地工作副本进行编译和运行时?
换句话说,IntelliJ基本上可以封装在幕后的“lib”上进行构建安装,以便“app”使用它的更新(快照)吗?
最佳答案 显而易见,最干净的选择是将两个项目组合成一个共同的Maven多-pom项目.如果这是你不能做的事情(也许这些项目属于不同的团队等),那么我可以想象你可以通过使用符号链接伪造它.
使用pom文件和两个模块创建一个包装器项目.而不是模块的文件夹,使用指向实际文件位置的符号链接.显然反应堆根pom不会是父pom.
现在打开包装器pom作为IntelliJ项目.
我不知道这是否有效,但值得一试.