将 IntelliJ 项目机器 A 复制到 B,但不会在 B 上构建

Copied IntelliJ project machine A to B, but it won't build on B

我在工作 (Win8) 和笔记本电脑 (OSX) 上使用了 IntelliJ、Scala 和 SBT。我以前从来没有遇到过这样的问题。由于天气原因,我被困在旅馆里,我的笔记本电脑上有一份我的 IDEA 项目。我尝试在笔记本电脑上构建项目,但失败并显示以下消息。据我所知,我拥有所有相关的 JAR、最新的插件等。我认为我没有遗漏任何东西。但我很困惑,如此简单的事情怎么会耗尽本可以花在编程上的时间,而我试图找出将 IntelliJ 项目从一台机器压缩并复制到另一台机器后出了什么问题。

Error:scalac: Error: xsbt.CompilerInterface
java.lang.ClassNotFoundException: xsbt.CompilerInterface
    at java.net.URLClassLoader.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:249)
    at sbt.compiler.AnalyzingCompiler.getInterfaceClass(AnalyzingCompiler.scala:117)
    at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:99)
    at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:57)
    at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:52)
    at sbt.compiler.CompilerCache$$anon.apply(CompilerCache.scala:50)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:39)
    at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:29)
    at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:26)
    at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:62)
    at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:20)
    at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319)

建议:

  • 使用 "Import project" 而不是文件|打开。 Select sbt 项目
  • 确保您可以访问互联网
  • 首先在命令行上构建项目。例如

     sbt compile package
    

     sbt compile assembly 

- 在 IDE 中重建项目(是痛苦的,但这是一个已知错误)

如果您仍然遇到问题,请返回此处。

似乎是将 IDEA 更新到版本 14 的问题。尝试从 IDEA 中删除 JDK 并重新添加它。它应该有效。