2015-11-19 12 views
6

ich versucht habe SBT für Scala installieren, aber diese seltsame Ausnahme erhalten, wenn es beginnen:Scala SBT werfen IncompatibleClassChangeError Ausnahme

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) 

Meine Java-Version ist

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) 

Ich installierte SBT über (home) brauen und bekam Version 0.13.9.

Ich habe versucht, Java auf die neueste Version zu aktualisieren, aber es hilft nicht. Natürlich habe ich SBT mit und ohne Homebrew deinstalliert und neu installiert, aber ich bekomme den gleichen Fehler. Ich kann nicht herausfinden, warum dieser Fehler auftritt.

+1

'IncompatibleClassChangeError' zeigt ein binäres Inkompatibilitätsproblem an. Welche Version von Scala benutzt du? Wie fängt man an, sbt? Fängst du an einem bestimmten Projekt an? – moem

+0

Sie könnten versuchen, das sbt 'Rebell cut' Skript von PaulP: https://github.com/paulp/sbt-extras - einfach speichern Sie diese Datei irgendwo und führen Sie es direkt als Shell-Skript anstelle der ursprünglichen sbt. –

+0

@moem Ich bin auf "Scala Version 2.11.7". Ich starte SBT, indem ich '$ sbt' in der Kommandozeile starte. Der Fehler ist derselbe, wenn SBT für ein bestimmtes Projekt gestartet wird und dies nicht geschieht. @ 0__ Danke für den Vorschlag, ich habe versucht, aber es ergibt den gleichen Fehler wie erwähnt. –

Antwort

0

Entfernen Sie alle überflüssigen JAR-Dateien aus Ihrem Java Extensions-Verzeichnis. Ich stieß auf den gleichen Fehler nach dem Aufbau BFG Repo-Cleaner und dann die Installation der resultierenden bfg.jar in /Library/Java/Extensions unter MacOS. Danach ist sbt mit der obigen Fehlermeldung fehlgeschlagen, bis bfg.jar aus /Library/Java/Extensions entfernt wurde.

+0

Danke für die Eingabe! Leider habe ich das Problem nicht mehr, daher kann ich das nicht bestätigen. Aber danke! –