Gradle: Ungültiger Init-Methodenaufruf von innerhalb einer Verzweigung (InvokeSpecial)

7

Aktuelle Versionen von Java (8u20, 7u67) brechen die Groß- / Kleinschreibung und die Laufzeitkompatibilität:

%Vor%

Auch Leute von ZeroTurnaround haben dieses Verhalten bemerkt: Ссылка

Die Frage ist einfach: Während wir in den nächsten Versionen von Java auf eine Lösung warten, gibt es eine Lösung für dieses Problem?

    
head_thrash 02.09.2014, 10:38
quelle

3 Antworten

10

Die einfachste Möglichkeit, mit VerifyError umzugehen, ist die Option -noverify jvm.

(Angenommen, Gradle-Version & gt; = 1.12 und Gradle-Wrapper als ausführbarer Bin)

Sagen Sie zuerst, ob Sie die Option für den Kompilierungsprozess (in Ihrem build.gradle) verwenden möchten:

%Vor%

Zur Laufzeit sollten Sie auch die jvm-Option übergeben:

Testaufgabe:

%Vor%

Wenn Sie das Anwendungs-Plugin verwenden:

%Vor%

Oder mit anderen Mitteln.

Das wird alles sein. Viel Spaß beim Warten auf Java Release mit Fix:

head_thrash 02.09.2014, 10:38
quelle
4

Dies ist ein jdk Bug & amp; Es wurde in der letzten jdk Version 7 u72

behoben     
Arun Gopalpuri 16.10.2014 16:04
quelle
4

Das passiert, wenn Constructor super aufruft.

Das Hinzufügen von @CompileStatic auf Constructor behebt das Problem.

    
Boaz Nahum 16.09.2014 20:03
quelle

Tags und Links