Java 8부터 JDK는 잠수 (Java 클래스 종속성 분석기) 라는 명령행 유틸리티를 제공합니다.
jdeps 명령은 클래스 종속성을 분석하고 내부 JDK 패키지를 플래그 지정하는 추가 매개변수를 제공합니다.
WebSphere 마이그레이션 도구가 애플리케이션에서 발견한 마이그레이션 문제점 대부분을 플래그 지정하는 반면,
jdeps 도구는 새 Java 버전으로 마이그레이션한 후 더 이상 사용할 수 없는 내부 JDK 패키지를 추가로 발견할 수 있습니다.
2진 또는 소스 WebSphere 마이그레이션 도구에서 플래그 지정된 문제점을 해결한 후 최종 단계로서
jdeps 명령을 실행하는 것이 좋습니다. 애플리케이션 Java 아티팩트에 대해 jdeps 명령을
실행하십시오.
정확한 결과를 확인하려면 계획된 대상 JDK (예: JDK 11) 에서 사용 가능한 jdeps 명령을 -jdkinternals 매개변수와 함께 사용하십시오. 예를 들어 Java 11을
사용하도록 사용자 환경을 설정한 후 다음 명령을 실행하십시오.
Java 시작하여 대부분의 JDK 내부에 대한 액세스를 제한하기 시작했습니다. 그러나 이주를 지원하기 위해 Java 존재하는 API에 대해 기본적으로 이 강력한 캡슐화가 해제되었습니다. Java 시작하여 -- illegal-access 실행기 옵션의 기본값은 permit이 아닌 deny 로 설정됩니다. 권장하지는 않지만, -- illegal-access=허가증를 지정하여 Java 16에서 이 제한을 무시할 수 있습니다. -- 불법 액세스 를 경고하다 또는 디버그 로 설정하여 허락하다와 동일한 효과를 갖지만 디버그를 사용하는 동안 경고하다 를 사용하는 동안 경고 메시지를 발행하고 잘못된 반사 액세스 조작에 대한 스택 추적을 사용하도록 설정할 수도 있습니다.
Java 으로 이주할 때 -- illegal-access 실행기 옵션은 사용되지 않습니다. 대부분의 JDK 내부는 현재 강력하게 캡슐화되었다. 권장되지는 않지만 -- add-열림 실행기 옵션 또는 추가-열기 를 사용하여 이 제한사항을 무시할 수 있습니다.
JAR 매니페스트 속성을 사용하여 애플리케이션 또는 써드 파티 라이브러리에 필요한 특정 패키지를 열 수 있다.
이 변경으로 캡슐화되지 않은 특정한 중요 내부 API는 다음과 같습니다.
유틸리티는 JDK 내부 클래스에 대한 참조를 식별하는 결과를 생성하고 가능한 경우 제안된 대체 API를 제공합니다.
참고: jdeps 명령은 .class 파일, 디렉토리 또는 JAR 파일만 허용합니다.
jdeps 명령에 대한 자세한 정보는
jdeps 참조 페이지를 참조하십시오.