IntelliJ Build 不执行 sbt 'compile' 依赖项

Tha*_*n21 2 java scala intellij-idea sbt

我是 IntelliJ/SBT 领域的新手,所以我可能会遗漏一些明显的东西。但是,经过大量谷歌搜索后,我找不到我的问题的答案。所以这里是:

我已经使用 sbt 设置了 IntelliJ(版本 2017.3.5)并且一切正常(几乎)。在我的build.sbt文件中,我的compile命令依赖于另一个生成 bash 脚本的命令。规则如下所示:

compile := (compile in Compile).dependsOn(script).value
Run Code Online (Sandbox Code Playgroud)

我可以从命令行(还不是从 IntelliJ)进入 sbt 环境并执行compile命令,一切都按预期工作。到现在为止还挺好。

但是,当我用 IntelliJ 打开我的项目并按下Build按钮时,我的项目是用 sbt 构建的(我可以在底部打开的 sbt shell 窗口中看到它)但我没有得到我的脚本。如果我compile从 - 已经为我打开 - sbt 窗口显式运行命令,我会得到我的脚本。

为什么这不适Build用于 IntelliJ 中的按钮?

我的平台是 MacOS。如果需要,我可以提供更多详细信息。

先感谢您 !

Mar*_*lic 7

我能够在 2018.1.3 和 SBT 1.1.5 版本中获得所需的行为

  1. 打开 sbt 项目工具窗口: View | Tool Windows | sbt
  2. 单击sbt settings图标
  3. 选择 Use sbt shell for build and import (required sbt 0.13.5+)

与往常一样,如果 IntelliJ 行为不端,请尝试使用 nuke 选项:

  • Invalidate caches \ Restart...
  • rm -fr .idea 并重新导入项目

或者,我们可以创建自定义运行配置

  1. Run | Edit configurations
  2. 单击+按钮并选择SBT Task
  3. 命名 Build project
  4. Tasks字段中,键入compile
  5. 点击 OK
  6. Run | Run 'Build project'