【问题标题】:IntelliJ - use imported modules as dependencies like maven projects in EclipseIntelliJ - 使用导入的模块作为依赖项,如 Eclipse 中的 maven 项目
【发布时间】: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


    【解决方案1】:

    它应该为依赖项开箱即用,这些依赖项作为模块导入到项目中,不需要额外的设置。至少对于 Java。

    只是不要运行 Maven 目标,它会使用存储库中的依赖项。

    【讨论】:

    • 这仅适用于 maven 插件,而不适用于 sbt,对吧?
    • 我从未尝试过 SBT,我只是描述了 Maven 在 IntelliJ 中的工作方式,与您在 Eclipse 中的体验相比。如果它对您不起作用,则应报告错误。
    • 好的,谢谢,我想我正在寻找的东西在 sbt 插件中丢失了
    • @GiovanniCaporaletti 您是否设法将第二个项目添加为 intelij + sbt 中的依赖项?
    • @Hikaru755 像这样:pastebin.com/dYFVSFNC - 你可能会找到更好的实现。
    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    相关资源
    最近更新 更多