Ich bin mit einem sehr dummen Problem konfrontiert.Eclipse Build erfolgreich, aber die Befehlszeile gibt 'Code zu groß' Fehler
Wenn ich mein Projekt mithilfe der Eclipse-Benutzeroberfläche erstellen, wird es ordnungsgemäß erstellt und ausgeführt. Wenn ich es jedoch in der Befehlszeile mit dem einfachen alten javac
(dh ohne ant
oder maven
Build-Tool) erstellen, bekomme ich einen code too large
Fehler auf einer der Dateien (die, übrigens, ist ein Antlr3-generiert Java-Parser-Datei).
Was seltsam ist,:
Mein Eclipse-Projekt auf das gleiche JDK zeigt, dass ich auf der Kommandozeile bin mit! Also, es ist nicht der Fall, dass ich unabsichtlich eingebauten Eclipse Java Compiler verwenden
Wenn der Parser-Code wirklich 'zu groß' (einige Methode in es> 64K), warum ist nicht die Eclipse Build mit dem gleichen Fehler? Aus diesem Grund zögere ich auch nicht, meine Parser-Grammatik zu optimieren - eine viel kompliziertere Aufgabe.
Ich benutze Eclipse Neon und Oracle JDK 1.8.
Die Eclipse-Benutzeroberfläche verwendet immer den Eclipse-Java-Compiler, sie verwendet niemals javac. Es kann also sein, dass der Eclipse-Compiler eine bessere Arbeit leistet. –
Sie meinen, die Eclipse UI verwendet ihren eigenen Compiler ** auch wenn ** ich einen externen in den Installierten JREs spezifiziere? Wenn ja, was nützt es dann, unter Installierte JREs unseren eigenen Compiler anzugeben? – Harry
Die installierte JRE wird für die Bibliotheken und die JVM beim Testen verwendet. Eclipse verwendet immer seinen eigenen Compiler, da es eine inkrementelle Kompilierung durchführen muss, die javac nicht ausführen kann. –