SBT + Idea 13 => 无法解析符号

36

我正在使用 SBT + Idea 13.1.1,但是我的所有SBT文件都是红色的:

name := "Transformer"

version := "1.0"

libraryDependencies ++= Seq(
  "com.github.scopt" %% "scopt" % "3.2.0",
  "org.scalatest" % "scalatest_2.10" % "2.1.0" % "test"
)

这个错误�示是“无法解�符��称/版本�。但 Seq 没有问题。� SBT 命令行或 Idea 直��行 main 或 scalatests 都�以正常�行应用程�。我知�这并�足以解决问题,但我�知�还�检查什么。如�您有任何想法,请告诉我,我会�供所有信�。

干��


有没有一个简单的SBT项目示例,我们可以尝试复现这个问题? - user3104542
9个回答

64
为了解决此问题,需要删除文件夹.idea并重新导入项目。
根本原因仍是个谜...

11
我在使用Idea 14时遇到了非常类似的问题,但是这个解决方案对我没有起作用。 - Jono
2
@Jono 你有找到解决方案吗?我现在也遇到了同样的问题。 - davidtbernal
1
仍然适用于2017年。 - bbarker
1
在Intellij UE 2017.3.5中无法解决该问题。 - vasigorc
2
这个问题在2018.3版本中仍然存在。非常恼人,为什么付费产品不能解决这个非常老的问题? - Jude Niroshan
显示剩余4条评论

28

当我更新到 SBT 0.13.7后,我遇到了类似的问题。 IntelliJ 开始使用“无法解析符号”消息将诸如 :=++ 等运算符标记为红色。

我的解决步骤如下:

  1. IntelliJ 中,选择 文件 | 设置,将 SBT Runner 切换为使用自定义启动器(并给出我的路径 /opt/sbt/bin/sbt-launch.jar)。

  2. 在上述步骤1测试通过后,我需要使缓存失效并重新启动 IntelliJ,选择 文件 | 使缓存失效 / 重新启动...

就这样! :-)


非常感谢。清除缓存并重新启动解决了我的问题。在我的项目突然停止工作时,我真的很困扰! - VenVig
1
在Intellij UE 2017.3.5中,无法解决问题。 - vasigorc

3

如果其他解决方案都不起作用,而且您和我处于同样的困境,即在build.sbt和所有具有sbt依赖项的文件中看到无法解析符号...,并且External Libraries中没有sbt依赖项,则可以运行File | New | Module from Existing Sources... 并选择build.sbt,这可能会像对我有用一样为您解决问题。


1

我在14.1.2上遇到了类似的问题;在我的情况下,添加

libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.1" % "test"

然后尝试

import org.scalatest._

会导致错误:无法解析符号scalatest

将sbt降级(0.13.8 -> 0.13.7);在build.properties中解决了这个问题。

这里有更多详细信息


2
你遇到的问题是由于特定的依赖项缺失引起的,这可能在其他地方也有体现(例如sbt -> compile也会失败)。看起来他们所指的问题在Intellij中更为普遍。 - ozma

1

将我的build.properties0.13.8更新到一个新版本,比如0.13.15,解决了我的问题。参考Github问题。


0

重启IntelliJ解决了我的问题。


0
这里的问题似乎是最近JDK(我使用的是Ver 16)发生了变化,而sbt项目构建引擎并不希望出现这种情况。在IntelliJ中,这会导致build.sbt被错误读取,因此sbt无法识别Seq。
Scala 2代码基于JDK 8-11,这符合其年龄的预期。对JDK16字符串类的后续更改似乎对sbt(版本1.28)造成了破坏。IntelliJ报告:
error while loading String, class file '/modules/java.base/java/lang String.class' is broken
将JDK设置为8-11可以解决问题。

0

在 IDEA 14.0 中遇到了同样的问题,但是上面的方法都没有起作用。

升级到 IDEA 14.1.1 后问题得到解决。


0

这是关于 .idea 文件夹的问题,如果其中不包括 codeStylesModuleslibraries,就会出现错误。我通过从另一个有这些文件夹的项目中导入该文件夹来解决它。然后重新启动 IntelliJ


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接