Сбой 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. Может ли это быть связано?

5 ответов

Решение

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

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

Пытаться:

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

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

В сбт:

чистый

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

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

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

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

В качестве альтернативы, возможно, ваш проект использует слишком старую версию sbt, что каким-то образом нарушает некоторые зависимости. Обновлять sbt.versionв project/build.propertiesи он должен работать снова.

Другие вопросы по тегам