JDK 10: Deprecated APIs, Module & Security-Features (forRemoval=true)
In Java 10 als forRemoval=true markiert (Deprecated für Entfernung)
1. SNMP Monitoring Support
Modul jdk.snmp (SNMP Monitoring & Management für JVM) ist deprecated und für Entfernung markiert.
2. java.security Legacy-Klassen
Folgende Klassen sind deprecated (forRemoval=true):
java.security.Certificatejava.security.Identityjava.security.IdentityScopejava.security.Signer
Diese stammen aus JDK 1.1 und wurden lange durch das JCA-Framework (java.security.cert, KeyStore) ersetzt.
3. javax.security.auth.Policy
Die API javax.security.auth.Policy ist deprecated und für Entfernung markiert.
4. Ganze Module als deprecated & für Entfernung markiert
Diese Module haben eigenständige Implementierungen (Maven Central etc.) und werden aus dem JDK herausgelöst:
| Modul | Inhalt / Ersatz |
|---|---|
java.activation |
JAF (JavaBeans Activation Framework) → jakarta.activation |
java.corba |
CORBA/ORB → Drittanbieter-ORBs (z. B. OpenORB) |
java.se.ee |
Aggregator-Modul für Java EE Module |
java.transaction |
JTA → jakarta.transaction |
java.xml.bind |
JAXB → jakarta.xml.bind (z. B. Eclipse Yasson) |
java.xml.ws |
JAX-WS → jakarta.xml.ws (z. B. Metro) |
java.xml.ws.annotation |
Web Services Annotations → jakarta.annotation |
Auswirkungen
- Diese Module sind im JDK 10 noch enthalten, aber deprecated und werden in einem zukünftigen Release (voraussichtlich Java 11+) entfernt.
- Bei Kompilierung/Laufzeit erscheinen Warnungen (
--add-modulesnötig für Zugriff). - Migration: Explizite Abhängigkeiten zu den Jakarta-EE-/Maven-Alternativen in
pom.xml/build.gradledeklarieren.
Hintergrund
Ziel ist die Verkleinerung des JDK-Kerns und Entkopplung von Enterprise-APIs, die eigene Release-Zyklen haben. Das JDK wird schlanker, modularer und wartbarer.
Java
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
- Java Strings meistern: Erstellung, Methoden und Best Practices
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
- Java Vector verstehen: Verwendung, Funktionen und Vergleich mit ArrayList