Java 8 Spring-Kompatibilität
Ich bin derzeit die Migration meiner Anwendung von Java 7 auf Java 8 und aktuell läuft bei mir die Feder 3.1.6 jar. Dies wäre kompatibel mit Java 8 oder brauche ich ein upgrade der Frühling jar ?
Verstehe ich, dass der Frühling 4x version hat Natürliche Unterstützung für Java 8, aber diese Zeit ist entscheidend und ich bin versuchen das zu ändern, so wenig Gläsern wie ich kann.
- vielleicht dieser konnte dir helfen...
- sehen diese Frage und Antworten: stackoverflow.com/questions/30072135/spring-3-2-x-with-java-8
- Danke, es hat mir geholfen. So habe ich in den sauren Apfel beißen und gehen für die Frühjahr-jar-upgrade
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde
Spring 3.x
- Versionen unterstützt bis zuJava-7
nur. Wenn Sie migrieren möchtenJava-8
Sie verwenden solltenSpring 4.x
version.Folgen diese link auf die Quelle-Artikel.
Nein, es ist nicht kompatibel. Ich habe laufen in das gleiche Problem und während viele werden sagen, dass Java 8 ist vollständig rückwärts kompatibel mit älteren Versionen von java, stellt sich heraus, nicht um wahr zu sein.
Dieser hat eine sehr gute Erklaerung der genaue problem ich lief in java 7 gezielte code mit java 8.
https://gist.github.com/AlainODea/1375759b8720a3f9f094
Weil die API von ConcurrentHashMap geändert hat zwischen dem 2 java-Versionen, der Frühling bricht auf Start und geben Sie am Ende mit
Hatte ich keine Wahl, aber ein upgrade auf Spring 4.x (nicht sicher, ob 3.2 oder höher gearbeitet haben würde, so sprang ich direkt auf 4.x)
Wenn einige Bibliotheken (bzw. die JRE selbst ist), JDK 8 und die component-scan-feature des Frühlings aktiviert ist (und durchsucht diese libs/jdk-Klassen), dann die minimal-Frühling version 3.2.10-VERSION.
Der Grund ist das upgrade der ASM (die Bibliothek, die Feder verwendet, um die scan-kompilierten Klassen und zu erkennen, Anmerkungen, implementierten interfaces, etc.) im Frühjahr.
Sehen SPR-11979 und SPR-11656 für details.
Java 8 und die jvm-8 ist vollständig abwärtskompatibel mit allen älteren Versionen von java. Java nimmt mühsamen Schritte, um sicherzustellen, dass die neuen Versionen nicht brechen alte code. Jeder code, den Sie schrieb, für java 7 kompiliert werden kann mit java 8, und jeder code, den Sie kompiliert für java 7 läuft auf jvm-8.