我試圖安裝SBT斯卡拉,但得到這個奇怪的例外啓動時:斯卡拉SBT拋出IncompatibleClassChangeError異常
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)
我通過安裝SBT(家)釀造並獲得0.13.9版本。
我試圖將Java更新到最新版本,但它沒有幫助。 當然,我已經卸載並重新安裝了SBT,無論是否使用自制軟件,但我都得到了同樣的錯誤。我無法弄清楚爲什麼會出現這個錯誤。
'IncompatibleClassChangeError'指示二進制不兼容問題。你在運行什麼版本的Scala?你最近怎麼樣?你是否正在開始某個特定項目? – moem
你可以試試PaulP的'rebel cut'腳本:https://github.com/paulp/sbt-extras - 只需將該文件保存在某處並直接作爲shell腳本運行,而不是原始sbt。 –
@moem我在'Scala版本2.11.7'上。我通過在命令行上運行'$ sbt'來運行SBT。在某個特定項目上啓動SBT時的錯誤是相同的,但是這樣做不會。 @ 0__感謝您的建議,我試過了,但它提供了與上述相同的錯誤。 –