【问题标题】:sbt fails with java.lang.NoClassDefFoundError: sbt/ConsoleOut$sbt 失败并出现 java.lang.NoClassDefFoundError: sbt/ConsoleOut$
【发布时间】:2022-01-17 23:43:05
【问题描述】:

在使用 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。这有关系吗?

【问题讨论】:

标签: scala ubuntu sbt


【解决方案1】:

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

可能是相关的。

试试:

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

【讨论】:

  • 你本可以在那个目录里有一些配置,这就是为什么我没有为那个写rm
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    在 sbt 中:

    干净

    在下次编译时重新解析 ivy 工件,而无需清除 ivy 缓存。

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

    【讨论】:

      【解决方案4】:

      在 Windows 中,使用 cygwin 或任何其他终端模拟器登录并运行以下命令:

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

      【讨论】:

        【解决方案5】:

        另外,也可能是您的项目使用了太旧的 sbt 版本,以某种方式破坏了一些依赖关系。 在project/build.properties 中更新sbt.version,它应该会再次工作。

        【讨论】:

          猜你喜欢
          • 2016-03-22
          • 2016-01-02
          • 2018-06-05
          • 1970-01-01
          • 2017-12-24
          • 1970-01-01
          • 2015-01-16
          • 2017-03-22
          • 1970-01-01
          相关资源
          最近更新 更多