Intellij无法运行Scala代码

时间:2014-07-30 00:12:14

标签: java scala intellij-idea

我有一个使用Java和Scala代码的项目。当我尝试在安装了Scala Plugin 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编译器,它说“在外部构建模式下没有显示此内容”。这可能是问题吗?

4 个答案:

答案 0 :(得分:3)

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

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

您也可以尝试在Settings / IDE Settings / Scala

中更改增量编译器的类型

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

答案 1 :(得分:2)

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

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

然后我去了文件 - >项目结构 - >图书馆,我删除了现有的图书馆。

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

按照说明操作。一切都很好......

希望它有所帮助...

答案 2 :(得分:0)

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

答案 3 :(得分:0)

在我的情况下,我进入了编译器/ Scala编译器设置并删除了其他编译​​器选项(make -transitive)