Sie würden keine Probleme haben - das ist die Magie von Java - es ist abwärtskompatibel. Sie können fast den gesamten Code von Java 1 auf Java 8 ausführen. Es gibt keinen Grund, warum Java 6-Code auf einer Java 8-Laufzeit nicht ausgeführt wird.
Interessant ist, dass für Anwendungen, die beispielsweise in Java 1.4 geschrieben sind, sogar Geschwindigkeitssteigerungen auftreten, wenn Sie sie zu späteren Laufzeiten ausführen. Dies liegt daran, dass sich Java ständig weiterentwickelt, nicht nur die als "Java" bekannte Sprache, sondern auch die JVM (Java Virtual Machine). Ich habe immer noch Quellcode von vor mehr als 10 Jahren, der immer noch funktioniert, wie in der neuesten JVM erwartet.
Wenn Sie beispielsweise eine Java 5-VM als Ziel festlegen möchten, können Sie dies mit den Java 8 SDK-Tools tun. Sie können letztendlich angeben, welche Ziel-VM Sie unterstützen möchten, sofern Sie berücksichtigen, dass eine VM der Version 5 möglicherweise nicht alle Funktionen einer VM der Version 8 unterstützt.
Ich habe gerade Code, den ich in Java 5 geschrieben habe, gegen die neue Java 8-Laufzeit getestet und alles funktioniert wie erwartet. Obwohl wir jetzt eine leistungsfähigere Sprache und Laufzeit haben, können wir unsere Investitionen der Vergangenheit weiterhin nutzen. Allein das macht Java zu einer großartigen Wahl für Unternehmen.
Wie bereits beantwortet sind Sie meist sicher und die meisten Produkte und 3 rd Party - Bibliotheken wird einfach Arbeit. Es gibt jedoch sehr seltene Fälle, in denen binäre Inkompatibilitäten ( solche, bei denen die mit älterem JDK kompilierte Klassendatei in der neueren JVM nicht ausgeführt werden kann ) zwischen JDK-Versionen eingeführt wurden.
Offizielle Liste der Oracle Java-Inkompatibilitäten zwischen Versionen:
Kompatibilitätswerkzeug
Im Lieferumfang von JDK 9 ist ein Tool namens jdeprscan enthalten, das die Kompatibilität überprüft, nicht mehr verwendete APIs in Ihrem Code auflistet und Alternativen vorschlägt (!). Sie können die Ziel- JDK-Version angeben (funktioniert für JDK 9 , 8 , 7 und 6 ) und es werden Inkompatibilitäten aufgelistet, die für Ihre Zielversion spezifisch sind.
Zusätzlicher Kommentar bei Bibliotheken:
Eine vernünftige Faustregel ist, die neueste stabile Release-Version der Bibliothek für die JRE-Version zu verwenden, auf die Ihre Software abzielt. Natürlich werden Sie viele Ausnahmen von dieser Regel finden, aber im Allgemeinen nimmt die Stabilität öffentlich verfügbarer Bibliotheken normalerweise mit der Zeit zu.
Natürlich müssen API-Kompatibilität und Versionsverwaltung berücksichtigt werden, wenn Versionen von Abhängigkeiten geändert werden.
Wiederum haben die meisten gängigen Abhängigkeiten Webseiten, auf denen solche Informationen verfügbar sein sollten.
Wenn Sie jedoch etwas Dunkleres verwenden, können Sie erkennen, für welche JRE die Klassen in Ihrer Abhängigkeit kompiliert wurden.
Hier ist eine großartige Antwort, wie Sie die Klassenversion herausfinden können . Möglicherweise müssen Sie zuerst die JAR-Datei entpacken.
quelle