我有一个使用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编译器,它说“在外部构建模式下没有显示此内容”。这可能是问题吗?
答案 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)