Java 8 Compiler-Fehler - Wie bekomme ich mehr Informationen?

8

Ich habe mit Java 8 ea b72 gespielt, aber ich bekomme einen Compilerfehler. Gibt es eine Möglichkeit, mehr Informationen von javac zu erhalten, z. die Dateiliste, an der gerade gearbeitet wird? Wenn ich eine allgemeine Vorstellung davon hätte, wo ich nachsehen könnte, könnte ich vielleicht eine Lösung finden, bis das Problem behoben ist.

Nur zur Erinnerung, hier ist der Stack-Trace (sieht ähnlich aus, wenn er außerhalb von IntelliJ IDEA kompiliert wird, BTW):

%Vor%     
Landei 15.01.2013, 22:14
quelle

3 Antworten

2

Hast du Javas -verbose -Flag ausprobiert? Ein einfaches Ant-Skript wie das Folgende könnte verwendet werden, um die ausführliche Compiler-Ausgabe zu aktivieren,

%Vor%

(Sieht aus, als würde die Benutzereigenschaft maven.compiler.verbose dasselbe in maven erreichen .)

Ich bin gerade in eine ähnliche Situation geraten. Unter Windows zeigte mir die ausführliche Ausgabe die Klasse, die gerade vor dem Fehler kompiliert wurde. Hoffentlich hilft Ihnen das, das Problem für eine Problemumgehung einzugrenzen.

    
John McCarthy 24.01.2013, 05:05
quelle
3

Dies ist ein letztes Mittel, aber Sie könnten strace verwenden, um zu überwachen, welche Dateien javac öffnet. strace [your javac invocation] | grep '/directory/you/are/interested/in/ könnte Ihnen einige Hinweise geben.

    
jacobm 23.01.2013 19:29
quelle
0

Dies ist nicht die Lösung für Ihr Problem. Vielleicht können Sie herausfinden, was damit schief gehen könnte.

Unten ist die Methode, bei der "AssertionError" ausgelöst wird.

%Vor%

Sie finden die com.sun.tools.javac.jvm.Code -Klassenimplementierung hier (Ich konnte jedoch nicht die korrekte Version dieser Klasse finden, da in dieser Klasse der Fehler in Zeile 298 angezeigt wird und in Ihrem Fall 297). Es könnte helfen.

Ich habe einen Link gefunden, Fehler-ID = 4901611 , der einen ähnlichen Fehler in früheren Versionen von Java zeigt . Version ist Java 1.5. In diesem Link finden Sie, dass diese Art von Fehler auftritt, wenn "generische Methode mit Vararg" unerwartete Eingabe erhält, die zu AssertionError führt. Es wurde keine Problemumgehung angegeben und es wurde im nächsten Update behoben: (

    
Yogesh Ralebhat 24.01.2013 06:27
quelle

Tags und Links