2017-09-11 68 views
0

在Windows 10上安裝SBT 1.0.1後,運行任何sbt命令會導致下面的錯誤。這與sbt git issue中報告的錯誤相同,但我已經安裝了JDK 1.8.0_144。SBT 1.0崩潰 - java.lang.VerifyError:後向分支上存在未初始化的對象

C:\>java -version 
java version "1.8.0_144" 
Java(TM) SE Runtime Environment (build 1.8.0_144-b01) 
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 

>sbt new sbt/scala-seed.g8 
"C:\Users\****\.sbt\preloaded\org.scala-sbt\sbt\"1.0.1"\jars\sbt.jar" 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 
java.lang.VerifyError: Uninitialized object exists on backward branch 162 
Exception Details: 
    Location: 
    scala/util/matching/Regex.unapplySeq(Lscala/util/matching/Regex$Match;)Lscala/Option; @216: goto 
    Reason: 
    Error exists in the bytecode 
    Bytecode: 
    0x0000000: 2bc6 000a 2bb6 00ef c700 07b2 0052 b02b 
    0x0000010: b600 f2b6 00f3 2ab6 0054 4d59 c700 0b57 
    0x0000020: 2cc6 000d a700 c92c b600 f799 00c2 bb00 

...

回答

0

這被移除指向從Path環境變量舊版本的JDK的文件夾後固定。最新的Oracle安裝版本的java.exe在路徑的早期版本,但我懷疑它是去舊的文件夾找到javac.exe的一些步驟sbt運行。我也有一個JAVA_HOME環境變量設置爲較舊的JDK,並將其刪除以確保安全。

+0

將您的答案標記爲已接受 – laughedelic

+1

您可以在此處添加更多詳細信息嗎?我遇到了同樣的問題,並且在最新的JRE中指出JAVA_HOME不能解決任何問題。我的Path變量中唯一相關的行是C:\ ProgramData \ Oracle \ Java \ javapath – plambre

+1

給任何發現此線程的人,請確保您在更改環境變量後關閉並重新打開命令行提示符 – plambre