2016-05-12 3 views
0

Ich habe eine Java-Datei mit einer Enum, die sehr groß ist. Der Code kompiliert auf Eclipse mit JDK 1.8, aber unter Linux funktioniert das nicht, wenn ich einen Ameisenbau mit demselben JDK mache. Es ist wirklich komisch. Aber, noch wichtiger, gibt es eine Lösung für das Kompilieren von Codes, die wirklich riesig sind? Meine Freunde sagten mir, dass die Compiler diesen Fehler nicht aus Java 1.7 werfen. Ist es wahr? Kann mir jemand Bescheid geben? Danke im Voraus!Code zu groß auf Ant in Linux, kompiliert aber auf Eclipse in Windows

+0

Eklipse verwendet normalerweise einen eigenen Compiler (so genannte ‚ecj‘), anstatt die ‚javac‘ Compiler. –

+0

Danke für die Antwort. Gibt es überhaupt keine Lösung, diesen Code zu kompilieren, ohne ihn zu teilen oder den Code zu modifizieren? Oder gibt es eine Möglichkeit, Ant zu sagen, diesen Fehler zu ignorieren? –

+0

Welchen Fehler bekommen Sie beim Kompilieren von der Befehlszeile mit Ant? Kannst du das Ameisen-Ziel auch in Eclipse ausführen? Wenn ja, was passiert dann? Schließlich, wenn Ihre Enum ist so groß, dass ich ernsthaft vorschlagen, eine Form des Refactoring ist erforderlich. – jr593

Antwort

0

A single method in a Java class may be at most 64KB of bytecode.

Dies ist wahrscheinlich ein Zeichen dafür ist, dass Sie Ihren Code Refactoring sollte ...

+0

Ja, mir ist diese Information bekannt. Aber dann 1. Wie kompiliert es Eclipse? 2. Ich bin auf der Suche nach Methoden, um dieses Problem zu lösen OHNE Refactoring meines Codes. –

+0

Eclipse ist wahrscheinlich permissiver als der Standard-Compiler. Und ich glaube nicht, dass es eine Möglichkeit gibt, den Standard-JDK dazu zu zwingen, diese Beschränkung zu überschreiben, vielleicht können Sie den Eclipse-Compiler in Ameisen statt in der Standard-JDK verwenden –

Verwandte Themen