【问题标题】:Why does IDEA report errors for build.sbt in a new sbt project?为什么 IDEA 在新的 sbt 项目中报告 build.sbt 错误?
【发布时间】:2014-12-02 11:23:10
【问题描述】:

我正在运行 IntelliJ 13.1.5 社区版。我已经安装了 JDK、Scala、SBT。已设置 JAVA_HOME、JDK_HOME、SCALA_HOME 和 SBT_HOME 变量。如果我创建一个新的 SBT 项目,在初始 sbt 刷新后,我会得到:

即使我添加了依赖项,它也可以编译并运行良好,但文件本身显示了大量错误。 F4 设置显示空的 SBT 模块内容:

然后我安装了https://github.com/mpeltonen/sbt-idea 并在项目文件夹中运行 sbt gen-idea。这创建了一堆文件,重新加载项目,sbt文件中的红色消失了。

这是在我的笔记本电脑上。但是,在我的工作机器上,只需创建一个新项目就可以正常工作,并且 sbt 文件没有填充红色。似乎无法弄清楚那台机器有什么不同。关于如何解决这个烦人的问题的任何指示?

【问题讨论】:

  • 我在检查 import xx-build 项目时遇到了同样的问题。全部导入,不再出现问题。

标签: scala intellij-idea sbt


【解决方案1】:

如果 IntelliJ IDEA 在缓存方面有点困难,请尝试第一个,如果仍然无法正常工作,第二个肯定可以解决问题:

  • 文件 -> 使缓存无效并重新启动
  • 关闭IDEA,删除.idea,重新导入你的项目

【讨论】:

    【解决方案2】:

    我还在所有 build.sbt 文件中发现了突出显示的错误。 解决的问题是在“从 SBT 导入项目”窗口中选择“下载 SBT 和插件的源代码”。

    【讨论】:

    • 很遗憾在这里没有帮助。
    • 难以置信 - 我所做的唯一改变并且有效。 IntelliJ Scala 支持发生了什么? (它在 SBT 中编译得很好,但是 IDEA 会抛出各种无意义的错误,而没有像你提到的那样检查源。
    【解决方案3】:

    请检查您是否将“scala-library*.jar”添加到 Scala 编译器库中

    此链接可能会有所帮助:

    http://blog.jetbrains.com/scala/2010/09/02/project-configuration-explained/

    如果您使用的是windows或linux,另请参阅:

    http://confluence.jetbrains.com/display/SCA/Setting+up+Scala+plugin+project+in+IntelliJ+IDEA

    【讨论】:

    • 看起来确实相关。我完全删除了 Java、JDK、Scala、SBT 和 IntelliJ,删除了主文件夹中的所有 .sbt 文件夹等。我重新安装了 IntelliJ,安装了 scala 插件,并创建了一个新项目。同样的错误。但是....我可以看到 IntelliJ 正在 E:\.sbt\...\scala-library.jar 中寻找 scala-library.jar 文件。项目创建并运行后,我注意到 E:\ 中没有 .sbt 文件夹,但 C:\Users\Ashic\.sbt 中有一个,包含预期的内容。有没有办法确保 a) 使用 E:\.sbt 或 b) 告诉 intelliJ 使用 C:\Users\Ashic\.sbt?
    • 我将 C:\Users\Ashic\.sbt 的相关 jar 复制到 E:\.sbt ,一切似乎都正常。如果我能让 sbt 总是使用 E:\.sbt 就好了。
    • 设法解决它。在我的笔记本电脑上,我更改了我的文档、音乐、主文件夹等的位置(到 E: 驱动器)。一些 jvm 程序显然存在一些问题,其中一些指向映射,但其他指向 C:\Users\Foo 中的文件夹。我本可以将 C:\Users\Ashic 连接到 E:\ 但由于那里有很多东西,我将一个新的 sbt 文件夹连接到 E:\.sbt (对于 ivy2 和 m2 相同)。这解决了所有问题。作为参考,命令是: mklink /j C:\Users\Foo\.sbt E:\.sbt 其中 C: 中的 .sbt 不存在。感谢您的帮助。为我指明了正确的方向。
    【解决方案4】:

    2020 年 4 月更新

    这适用于 scala 2.13 和 Intellij 2020.1,当:

    • sbt 文件有错误
    • 项目结构错误

    原因是 sbt 的“外部库”没有为 IDE 加载。

    这样做,类似于旧版本:https://www.lagomframework.com/documentation/1.6.x/java/IntellijSbtJava.html

    1. rm -rf .ida
    2. Click Menu item: Open... to pick the project directory
    

    如果不起作用,我假设您需要为 intellij 设置 Global SDK cmd+; 并选择 scala 的路径。

    如果是 mac, brew install scala 通常会回显路径 /usr/local/opt/scala/idea

    按住cmd+shift+G打开路径,让ide浏览到这个路径。

    IDE 应该找到像 /usr/local/Cellar/scala/2.13.1/idea/lib/scala-library.jarscala-compiler.jarscala-reflect.jar 这样的路径

    不过,可能有更好的方法来进行全局 scala 设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 2014-10-22
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多