Scala SBT抛出IncompatibleClassChangeError异常

时间:2015-11-19 15:13:19

标签: java scala sbt

我已尝试为Scala安装SBT,但在启动它时会遇到这个奇怪的异常:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Expected static method scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at xsbt.boot.Boot$.main(Boot.scala:11)
at xsbt.boot.Boot.main(Boot.scala)

我的Java版本是

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

我通过(home)brew安装了SBT并获得了0.13.9版本。

我尝试将Java更新到最新版本,但它没有帮助。 当然我已经卸载并重新安装了SBT,无论是否有自制软件,但我得到了同样的错误。我无法弄清楚为什么会出现这种错误。

1 个答案:

答案 0 :(得分:0)

从Java Extensions目录中删除任何无关的JAR文件。在构建 BFG Repo-Cleaner 然后将生成的bfg.jar安装到macOS下的 / Library / Java / Extensions 中后,我遇到了同样的错误。之后,sbt失败并显示上述错误消息,直到从 / Library / Java / Extensions 中删除bfg.jar