我问自己这个问题已经有几年了,但从来没有真正找到解决方案。
我曾经使用过eclipse(在maven java项目中)。我可以导入一个项目-let称之为'proj-A'-并且如果在具有相同确切版本的工作空间中找到proj-A的依赖项之一,eclipse将使用该项目的源而不是存储库中的jar。通过这种方式,我可以编辑一个库,并立即查看项目中使用它的更改。
例如,在Eclipse中,如果proj-A依赖于dep-B-1.2.3-SNAPSHOT,我可以在同一工作空间中导入proj-A和dep-B,如果dep-B版本是1.2.3 -SNAPSHOT我可以看到来自proj-A类的dep-B源的实时更改。
我现在正在使用IntelliJ中的scala。我似乎无法做到这一点。如果你想避免发布库,然后每次重新加载使用它的整个项目及其所有依赖项,那么最好的工作流程是什么?
如果我将proj-A导入为sbt项目,我可以在库中找到dep-B快照jar(从一些repo加载,无论是本地还是远程),我看不到对dep-B的代码更改在同一个intellij项目中导入的模块(即相当于eclispe工作区)。
如果我手动删除dep-B jar并添加dep-B模块作为proj-A的依赖项,我每次因某种原因重新导入proj-A时都被迫执行此操作。
我不确定有没有办法像日食那样直接(自动),但也许你知道我不知道的事情......
感谢
答案 0 :(得分:2)
它应该在开箱即可用于依赖项,它们作为模块导入到项目中,无需其他设置。至少对于Java来说。
只是不要运行Maven目标,即使用存储库中的依赖项。