2017-12-08 5 views
-3

Ich habe folgende Fragen zu Spring 3.2 und Java 8 Kompatibilitätsprobleme gelesen, aber ich habe noch einige offene Fragen.Spring 3.2 mit Java 7 und Java 8

Java 8 Spring compatibility

spring-core 3.2.9 + java 8

Spring 3.2.x with Java 8

Lassen Sie uns sagen, es ist ein Artefakt (zB DAL), die verwendet Feder 3.2 und dieses Artefakt hat zwischen Java-7-Service (Service A) und Java geteilt werden 8 Service (Service B). Diese Dienste werden kompiliert und gegen entsprechende Java/JVMs ausgeführt.

Jetzt Frage ist - wird es möglich sein, DAL sowohl in Service-A und Service-B zu verwenden?

Wie Snippet 1, sollte es funktionieren, da Java 8 Runtime die Spring 3.2-Bibliotheken gegen Java 7 unterstützt, aber wie Snippet 2 sollte dies nicht funktionieren, da Service-B wurde gegen Java 8 erfüllt und es wird Verwendung DAL, die gegen java kompiliert wurde 7.

Snippet 1:

jedoch einige Frühjahr Release notes sagt, dass das Spring Framework 3.2.x Einsatz auf JDK 8 Runtimes für Anwendungen kompiliert gegen JDK 7 unterstützen (mit -target 1.7) oder früher. Beachten Sie, dass das Bytecode-Format von JDK 8 nicht unterstützt wird (-target 1.8, wie für Lambdas erforderlich); Bitte aktualisieren Sie zu diesem Zweck auf Spring Framework 4.0.

Snippet 2:

Versionen des Spring Framework, die als 4.0M1 älter sind nicht mit Klassen arbeiten, die für Java 8.

+0

Es wird gut sein, wenn Sie Gründe für das Down-Voting angeben können. Vielen Dank. – Atul

+0

_ "Teilen Sie Ihre wertvollen Erfahrungen für Java 7 auch mit Java 8-Migrationen mit Spring 3.X mit." _ - Dies ist eine Anfrage zur Diskussion, keine spezifische, beantwortbare Frage. Bitte besuchen Sie die [Hilfe] und lesen [fragen] Sie nach lrean, wie Sie diese Seite effektiv nutzen können. –

+0

@JimGarrison Die Zeile wurde entfernt. Danke für die Hervorhebung. – Atul

Antwort

0
zusammengestellt

Es gibt keinen Punkt der Migration zu Java 8 mit Spring 3.x, Es ist besser, zu JDK 1.8 und Spring 4.x zu wechseln. Die JDK 8-Migration sollte kein Problem darstellen, es sei denn, der Code muss für JDK 8-Features geändert werden.

Frühling 3.2.9 wird die beste Wette in Bezug auf Java 8-Byte-Code-Unterstützung sein.

Verwandte Themen