A Java 8 változattól kezdve, a JDK szállít egy jdeps (Java
osztályfüggőség-elemző) nevű parancssori segédprogramot.
A jdeps parancs elemzi az osztályfüggőségeket, és további
paramétereket biztosít belső Java csomagok megjelöléséhez.
Míg a WebSphere
átállítási eszköz megjelöli az alkalmazásokban talált átállítási problémák
többségét, a jdeps eszköz az új Java változatra való áttérés
után már nem elérhető belső JDK csomagokhoz biztosíthat további észlelést.
Javasoljuk, hogy a jdeps parancsot a bináris vagy forrás
WebSphere átállítási eszközök által megjelölt problémák megoldása után
futtassa egy végső lépésként. Futtassa a jdeps parancsot az
alkalmazás Java műtermékein.
A pontos eredmények biztosítása érdekében használja a tervezett cél JDK telepítésben (például JDK 11) elérhető
jdeps parancsot a -jdkinternals paraméterrel. Például miután beállította a környezetet Java 11 használatára, futtassa a
következő parancsot:
A Java 9 változatától kezdődően törekvés tapasztalható a legtöbb JDK belső elem hozzáférésének korlátozására. A migrációval kapcsolatos támogatás azonban ezt az erős beágyazást a Java 8-ban létező API-k esetében alapértelmezésben kikapcsolta. A Java 16 változattól kezdődően az -- illegális-access launcher beállítás a megtagadásra van helyetthelyett. Although not recommended, this limitation could be bypassed in Java 16 by specifying
-- illegális-access=engedély. -- illegális hozzáférés could also be set to Figyelmeztet
or Hibakeresés to have the same effect as Engedély, but to issue a warning message while using Figyelmeztet and
stack trace for illegal reflective-access operations while using Hibakeresés.
A Java 17 vagy újabb változatra való áttéréskor az -- illegal-access indítási paraméter elavult. A legtöbb JDK belső elem most erősen van beágyazva. Habár nem ajánlott, ez a korlátozás megkerülhető az --add-opens
indítási paraméter vagy az Add-Opens JAR leírófájl attribútum segítségével az alkalmazás vagy harmadik
féltől származó könyvtárak által igényelt csomagok megnyitásakor.
Ez a változás bizonyos kritikus belső alkalmazásprogramozási felületeket nem foglal magában; ezek a következők:
A segédprogram előállítja a kimenetet, amely azonosítja a JDK belső
osztályokra mutató hivatkozásokat, és ahol lehetséges, biztosít javasolt
csere API-kat.
Megjegyzés: a jdeps parancs csak .class fájlokat, egy könyvtárat vagy egy JAR fájlt fogad el.
A jdeps paranccsal kapcsolatos további információkért tekintse meg
a jdeps referencia oldalt.