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
Antwort
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 ...
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. –
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 –
- 1. Wie kommt Eclipse kompiliert diesen Java-Code, aber nicht Ant?
- 2. Wird Java in Windows in Linux kompiliert?
- 3. Cross-Debugging Windows-Anwendung auf Linux-Box in Eclipse CDT
- 4. Warum kompiliert dieser Code auf Coliru, aber nicht auf Xcode?
- 5. multiprocessing.Pool in jupyter Notebook funktioniert auf Linux, aber nicht Windows
- 6. Code läuft 2x schneller auf Windows als auf Linux
- 7. "OverflowError: Python int zu groß, um in C lang zu konvertieren" auf Windows, aber nicht Mac
- 8. Wie kompiliert kscope auf Windows-System?
- 9. Zeitzone Code Übersetzung von Windows auf Linux in Freepascal
- 10. Einstellung Java-Pfad auf Windows für Ant
- 11. mxmlc kompiliert anders unter Linux und Windows?
- 12. Detached views in eclipse auf linux
- 13. Eclipse C/C++ zeigt Fehler, aber kompiliert?
- 14. Warum kompiliert Eclipse dies, aber Javac nicht?
- 15. Enum-Deklaration in Windows auf Linux
- 16. Namespace Autoload arbeitet unter Windows, aber nicht auf Linux
- 17. ClassNotFoundException in Laufzeit, aber die Anwendung kompiliert
- 18. Wie Ant-Eigenschaften basierend auf Variablen in Eclipse festlegen?
- 19. Unterschiede zwischen Eclipse und Ant Build auf Android
- 20. Strange Java Lambda Fehler in Windows, aber nicht Linux
- 21. Linux-Befehlszeile auf Windows „ls“
- 22. Maven und Jetty arbeiten auf Windows-Maschine, nicht auf Linux
- 23. Debug TestNg Java-Code in Eclipse, die Ant verwendet
- 24. Scala Code kompiliert nicht in SBT - Eclipse-Maven bauen
- 25. Java Eclipse-Plugin: menuitems in den Fenstern erscheint aber nicht auf Linux
- 26. Verweis auf nicht endgültige Variable: Warum kompiliert dieser Code?
- 27. Warum kompiliert dieser Code nicht mit javac, hat aber keine Fehler in eclipse?
- 28. Eclipse als plattformübergreifende IDE für C++ - Code unter Linux und Windows
- 29. "Code zu groß" Kompilierungsfehler in Java
- 30. Wie sehe ich JRE-Quellcode in Eclipse auf Linux (debian)
Eklipse verwendet normalerweise einen eigenen Compiler (so genannte ‚ecj‘), anstatt die ‚javac‘ Compiler. –
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? –
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