sbt失败了java.lang.NoClassDefFoundError:sbt / ConsoleOut $

时间:2013-12-22 08:39:35

标签: scala ubuntu sbt

使用sbt一段时间后,出现故障,我无法在我的Ubuntu机器上运行sbt。无论我做什么,我都会得到这个例外。即使运行sbt help也会导致以下错误:

java.lang.NoClassDefFoundError: sbt/ConsoleOut$
    at sbt.StandardMain$.<init>(Main.scala:52)
    at sbt.StandardMain$.<clinit>(Main.scala)
    at sbt.xMain.run(Main.scala:26)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
    at xsbt.boot.Launch$.run(Launch.scala:57)
    at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
    at xsbt.boot.Launch$.launch(Launch.scala:65)
    at xsbt.boot.Launch$.apply(Launch.scala:16)
    at xsbt.boot.Boot$.runImpl(Boot.scala:32)
    at xsbt.boot.Boot$.main(Boot.scala:21)
    at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.lang.ClassNotFoundException: sbt.ConsoleOut$
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 12 more
Error during sbt execution: java.lang.NoClassDefFoundError: sbt/ConsoleOut$

我重新安装了JDK,当然还有sbt,但它没有帮助。我唯一记得做的就是安装新的IntelliJ IDEA 13.这可能是相关的吗?

4 个答案:

答案 0 :(得分:28)

  

我唯一记得做的就是安装新的intellij(v13)。这有关系吗?

可能是相关的。

尝试:

rm -rf ~/.ivy/cache
mv ~/.sbt ~/.sbt.old

答案 1 :(得分:4)

很可能这个问题来自IntelliJ IDE,关闭IDE的所有正在运行的进程并重新启动它。

答案 2 :(得分:2)

在sbt:

  

清洁

导致在下次编译时重新解析常春藤工件,而无需清除常春藤缓存。

如果常春藤本身就是问题,那么上面的解决方案是一个很好的后备。

答案 3 :(得分:1)

在Windows中,使用cygwin或任何终端仿真器及以下命令进行登录:

  1. rm -rf ~/.sbt
  2. rm -rf ~/.ivy2
  3. rm -rf ~/.ivy