2017-08-16 3 views
0

Jedes Mal, wenn ich diese Ausnahme in IntelliJ begegne, behebe ich es trivial und vergiss die Behebung leicht.IntelliJ Fehler: java: java.lang.ExceptionInInitializerError

Code:

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

Szenario:

  • neue TestClass hinzufügen.
  • Klicken Sie mit der rechten Maustaste auf TestClass.
  • Wählen Sie "TestClass ausführen", um Testfälle auszuführen.

Die "Nachrichten Build" Bereich zeigt:

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 

Was kann möglicherweise schief gehen?

Was sind die wahrscheinlichen Probleme in diesem einfachen Szenario?

IntelliJ: COMMUNITY 2017,1 (idea-IC-171.4424.56)

Antwort

0

Um das Problem zu beheben, das tue ich:

  • Datei -> Projektstruktur ... -> Projekteinstellungen/Projekt -> Projekt SDK.
  • Von "9-ea" zu "1.8" wechseln.

DETAILS

Offensichtlich ist das Problem Diskrepanzen in ausgewählten JDK-s (Java 9) und Lauf (Java 8) aufzubauen.

Ich bin nicht sicher, wie "9-ea" wird es für das gleiche Projekt erneut ausgewählt - weder IntelliJ selbst läuft in "9-ea" JRE (nach Hilfe -> Über) nochJAVA_HOME env var ist darauf eingestellt noch andere mögliche Einstellungen (wie Maven -> Runner) vorschlagen "9-ea".

Ich schaffte es auch nicht, den Test unter dem gleichen JDK (Java 9) zu laufen, unter dem er kompiliert wird. Es ist jedoch unklar, unter welchen JDK-Tests ausgeführt wird, da IntelliJ nur über JDK für die Kompilierung berichtet.

Verwandte Themen