Ich möchte meine .java (mehrere) in eine .jar
kompilieren, die mit mindestens Java 1.6
und neueren, vorzugsweise Java 1.5
und neueren Versionen von Java kompatibel sind. (Ich habe Java 1.7.0_5
)Wie kompiliere ich ein .java mit Unterstützung für ältere Java-Versionen?
Antwort
Ja, Sie die Version des Compilers bei der Kompilierung einstellen. Und kompilieren Sie Ihren Java-Code in alte Versionen von Java.
Von Oracle Artikel: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html
Querübersetzbarkeit Beispiel
Hier verwenden wir Javac Code zu kompilieren, die auf einem 1,4 VM ausgeführt wird.
% javac -target 1.4 -bootclasspath jdk1.4.2/lib/classes.zip \
-extdirs "" OldCode.java
Sie können auch folgenden Parameter benötigen, um die Version Ihres Codes zu setzen.
-source release
-Spezifiziert die Version des Quellcodes akzeptiert.
Sie können javac -target 1.5 <source files>
verwenden.
Wenn Sie ein Build-System, Eclipse oder eine andere IDE zum Erstellen von Gläsern verwenden, geben Sie bitte an, welche.
And' -source 1.5 ' –
Ich habe Netbeans, aber ich kann nur Textdateien verwenden. Wie würde ich das in allen .java's in einem Verzeichnis anwenden? – Primm
Mit Netbeans klicken Sie mit der rechten Maustaste auf Ihr Projekt, gehen Sie zu den Eigenschaften und ändern Sie das "Source/Binary Format" aus dem Dropdown-Menü am unteren Rand des sich öffnenden Dialogs – tofarr
Sie können die neueste Version des JDK verwenden und den Quelllevel auf 1,5 setzen - solange Sie keine Klassen/Methoden verwenden, die nach 1.5 eingeführt wurden, sollten Sie für alle Versionen von JVM 1.5 und höher in Ordnung sein :
-source 1.5
Ab JDK 9, JavaC eine neue Option für Unterstützung Cross-Kompilierung
javac -release N ...
was
javac -source N -target N –bootclasspath rtN.jar
Sie die Zielversion des Compilers niedriger als die Build Java entspricht angeben Version (alle Antworten im Grunde gesagt), aber Sie sollten nicht: Es ist ziemlich chaotisch, da es nur funktioniert, wenn Sie auch die Klassenbibliotheken für die eigentliche Zielversion liefern. Wenn Sie das tun, sind Sie viel besser dran, wenn Sie einfach diese alte Java-Version zum Kompilieren verwenden. Viel sauberer und weniger Dinge zum Einrichten. Für Java 9 sind die Optionen etwas netter, aber für das rt.jar brauchst du noch ein altes JDK.
Was können Sie tun, ist in Ihrem ide und dedvelopment Zyklus der -target
/-bootclasspath
Trick verwenden, um schneller Compiler und eine bessere Warnungen zu erhalten, aber IT und Release baut dann mit der Zielversion getan werden sollte.
- 1. Wie kompiliere ich Readline-Unterstützung in Ruby
- 2. Wie kompiliere ich ein Java-Projekt mit einem Terminal/cmd
- 3. Java - Wie kompiliere ich eine einzelne Datei mit Java Eclipse
- 4. Wie kompiliere ich eine einzelne Java-Datei mit Gradle?
- 5. Wie kompiliere ich ein Hallo Welt C-Programm für ARM
- 6. Wie kompiliere ich ein C-Programm für Genymotion (Android x86)
- 7. Wie kompiliere ich ein Kernelmodul für Raspberry Pi?
- 8. Wie kann ich die Unterstützung für ältere emacsen in meinem elisp-Paket problemlos löschen?
- 9. Wie für ältere 3dsmax-Versionen mit 2010 \ 2011 sdk kompilieren?
- 10. Wie kompiliere ich Git für ARM?
- 11. Wie kompiliere ich für das Gerät ohne ein Zertifikat?
- 12. Wie kompiliere ich Code für Android mit Jack Compiler?
- 13. Wie kompiliere ich ein Makefile-Plugin?
- 14. Wie kompiliere ich LibQxt für Qt5?
- 15. Wie kompiliere ich NFSUTSILS für MIPS-Architektur?
- 16. Wie kompiliere ich pjsip für iphone 3.0
- 17. Wie kompiliere ich CUnit für iOS
- 18. Wie kompiliere ich liboauth für Windows
- 19. Wie kompiliere ich ein Linux Kernel Modul mit -std = gnu99?
- 20. Wie kompiliere ich ein Programm mit statischer libcurl?
- 21. Wie kompiliere ich ein C-Programm mit cmd?
- 22. Wie kompiliere ich c-Code mit fattach()
- 23. Wie kompiliere ich Perl 5.10 mit Thread-Unterstützung unter FreeBSD 7.1?
- 24. Wie kompiliere ich mit Framework-Bibliotheken?
- 25. Wie kompiliere ich OpenCV mit libjpeg-turbo?
- 26. Wie kompiliere ich für Windows unter Linux mit gcc/g ++?
- 27. Wie kompiliere ich für 64bit mit G ++ w/CodeBlocks?
- 28. Wie kompiliere ich Emacs 22.3
- 29. Wie kompiliere ich OpenCV mit ICC?
- 30. Wie kompiliere ich Python 1.0
Werfen Sie einen Blick auf http://www.veryant.com/support/phpkb/question.php?ID=57 – Mualig
'javac -source 1.5-target 1.5 OverridingInternalExample.java' arbeitete für mich –