【问题标题】:Intellij not able to run Scala CodeIntellij 无法运行 Scala 代码
【发布时间】:2014-07-30 00:12:14
【问题描述】:

我有一个同时使用 Java 和 Scala 代码的项目。当我尝试在安装了 Scala 插件 0.38.441 的 Intellij 13.1.4 上从 Scala 运行主函数时,出现以下错误

Error:scalac: Error: Scala instance doesn't exist or is invalid: 
    version unknown, library jar: /home/arpit/.m2/repository/org/scala-lang/scala-library/2.11/scala-library-2.11.jar, compiler jar: /home/arpit/.m2/repository/org/scala-lang/scala-compiler/2.11/scala-compiler-2.11.jar
sbt.InvalidScalaInstance: Scala instance doesn't exist or is invalid: 
    version unknown, library jar: /home/arpit/.m2/repository/org/scala-lang/scala-library/2.11/scala-library-2.11.jar, compiler jar: /home/arpit/.m2/repository/org/scala-lang/scala-compiler/2.11/scala-compiler-2.11.jar
    at sbt.ScalaInstance$.slowActualVersion(ScalaInstance.scala:122)
    at sbt.ScalaInstance$.sbt$ScalaInstance$$actualVersion(ScalaInstance.scala:119)
    at sbt.ScalaInstance$$anonfun$actualVersion$1.apply(ScalaInstance.scala:32)
    at sbt.ScalaInstance$$anonfun$actualVersion$1.apply(ScalaInstance.scala:32)
    at scala.Option.getOrElse(Option.scala:120)
    at sbt.ScalaInstance.actualVersion$lzycompute(ScalaInstance.scala:32)
    at sbt.ScalaInstance.actualVersion(ScalaInstance.scala:32)
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$.org$jetbrains$jps$incremental$scala$local$CompilerFactoryImpl$$getOrCompileInterfaceJar(CompilerFactoryImpl.scala:79)
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:43)
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:42)
    at scala.Option.map(Option.scala:145)
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.getScalac(CompilerFactoryImpl.scala:42)
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.createCompiler(CompilerFactoryImpl.scala:21)
    at org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:23)
    at org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:23)
    at org.jetbrains.jps.incremental.scala.local.Cache$$anonfun$getOrUpdate$2.apply(Cache.scala:20)
    at scala.Option.getOrElse(Option.scala:120)
    at org.jetbrains.jps.incremental.scala.local.Cache.getOrUpdate(Cache.scala:19)

我还检查了 IntelliJ 中项目设置下的编译器设置,对于 Scala 编译器,它显示“在外部构建模式下无任何显示”。会不会是这个问题?

【问题讨论】:

  • 根据答案,转到 File > Project Structure > Facets > Scala 编译器并选择全局编译器,而不是 maven 为我提供的编译器。在使缓存无效后,我遇到了这个错误。 maven repo 中没有 scala jar,因此导致了此错误。我猜这个罐子在过去的某个时候就在那里,当时它被缓存了。

标签: java scala intellij-idea


【解决方案1】:

编译器似乎无法读取 scala-compiler jar 的版本。也许它已损坏。尝试重新下载或使用其他版本。要设置另一个编译器库,请转到模块的 Project Structure/Facets/Scala facet 并选择合适的库。

如果它不起作用,请在 bugtracker 上创建一个工单(使用附加的编译器库): http://youtrack.jetbrains.com/issues/SCL

您也可以尝试在 Settings/IDE Settings/Scala 中更改增量编译器的类型

编译器/Scala 编译器设置没有问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,这就是我所做的:

    (安装 IntelliJ 和 SBT 后)我也从 this 网站下载了 Scala 并安装了它。

    然后我转到 文件 -> 项目结构 -> 库并删除了现有的库。

    之后,我点击了“+”符号和“Scala SDK”,找到了Scala安装文件夹(C:\Program Files (x86)\scala\ in我的情况)。

    并按照说明进行操作。然后一切正常...

    希望对你有帮助...

    【讨论】:

      【解决方案3】:

      我在 root 用户下运行 Idea 时遇到了类似的问题。 Idea 找不到 scala 库。我通过退出 Idea 并在我当前的用户下运行它解决了这个问题。

      【讨论】:

        【解决方案4】:

        在我的例子中,我进入了编译器/Scala 编译器设置并删除了额外的编译器选项(make -transitive)

        【讨论】:

          猜你喜欢
          • 2015-10-22
          • 2015-09-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-24
          • 2020-04-23
          • 1970-01-01
          • 2020-09-17
          相关资源
          最近更新 更多