【发布时间】:2015-08-31 13:40:57
【问题描述】:
几年来我一直在问自己这个问题,但从未真正找到解决方案。
我曾经使用 eclipse(在 maven java 项目上)。我可以导入一个项目——我们称之为“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 时都不得不这样做。
我不确定有没有像 eclipse 方式(自动)那样简单的方法,但也许你知道一些我不知道的事情......
谢谢
【问题讨论】:
标签: eclipse scala maven intellij-idea sbt