Sbt не работает с java.lang.NoClassDefFoundError: sbt/ConsoleOut $

После использования sbt в течение некоторого времени что-то не удалось, и я не могу запустить sbt на моей машине Ubuntu. Я получаю это исключение, независимо от того, что я делаю. Даже запуск 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. Может ли это быть связано?

Ответ 1

Единственное, что я помню, это установка нового intellij (v13). Связано ли это?

Это может быть связано.

Try:

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

Ответ 2

Скорее всего, эта проблема исходит из IntelliJ IDE, Закройте все запущенные процессы IDE и запустите его снова.

Ответ 3

В sbt:

чистый

Результаты повторного разрешения артефактов плюща при следующем компиляции, без необходимости очищать кэш плюща.

Если сам плющ является проблемой, то выше решение является хорошим резервным.

Ответ 4

В Windows регистрируется с помощью cygwin или любого эмулятора терминала и ниже команд:

  • rm -rf ~/.sbt
  • rm -rf ~/.ivy2
  • rm -rf ~/.ivy