2017-08-16 93 views
0

每次我在IntelliJ中遇到這個異常,我都會修復它,並且很容易忘記修復。IntelliJ錯誤:java:java.lang.ExceptionInInitializerError

代碼:

package whatever; 
import org.junit.Test; 
public class TestClass 
{ 
    @Test 
    void test() {} 
} 

場景:

  • 添加新TestClass
  • 右鍵單擊TestClass
  • 選擇「Run'TestClass'」運行測試用例。

「消息建立」 窗格中顯示:

Information:javac 9-ea was used to compile java sources 
Information:Module "dummy" was fully rebuilt due to project configuration/dependencies changes 
Information:8/16/17 11:35 PM - Compilation completed with 1 error and 0 warnings in 1s 663ms 
Error:java: java.lang.ExceptionInInitializerError 

什麼能可能出錯?

這種簡單情況下可能出現的問題是什麼?

的IntelliJ:社區2017.1(IDEA-IC-171.4424.56)

回答

0

爲了解決這個問題,我做的:

  • 文件 - >項目結構... - >項目設置/項目 - >項目SDK。
  • 從「9-ea」變爲「1.8」。

詳情

顯然,該問題是在選定的JDK-s至建立(j​​ava的9)和運行(java的8)的差異。

我不知道如何 「9-EA」 被重新選擇那裏爲同一個項目 - 既不的IntelliJ本身運行 「9-EA」 的JRE(據幫助 - >關於)也不JAVA_HOME env var設置爲,也不是其他可能的設置(如Maven - > Runner)會提示任何「9-ea」。

我也沒有設法在它被編譯的同一個JDK(java 9)下運行測試。不過,目前還不清楚在哪些JDK測試下運行,因爲IntelliJ僅報告有關編譯JDK的信息。