다른 곳에서이 질문에 대한 명확한 답변을 찾을 수 없으므로 여기에서 시도해 보겠습니다.클래스 로더에 의해로드되는 jar와 순서를 찾는 방법은 무엇입니까?
애플리케이션 클래스 로더에 의해로드 된 JAR/클래스의 목록을 얻는 방법이 있습니까? 로드 된 순서? 애플리케이션 별 클래스 로더 : 애플리케이션 서버 (WLS, WAS, JBoss ...)에서 EAR 애플리케이션을로드하는 클래스 로더를 의미하지만 분명히 모든 클래스 로더에 적용됩니다.
그래서 일반적으로 알기를 원하는 것은 지정된 클래스 로더가로드 한 JAR 목록과 순서입니다. 개별 클래스가 아니기 때문에 classloader.getPackages()를 호출하여 쉽게 찾을 수 있지만이 클래스 로더에 의해로드 된 JAR 파일의 목록
고마워, kdgregory. 이것은 마침내 사용 된 접근법입니다. 기본적으로 런타임에 클래스 로더 계층 구조를 파악하고 사용 가능한 경우 getURLs() 메서드를 사용하여로드 한 리소스 목록을 각 클래스 로더에 쿼리하는 유틸리티를 작성했습니다. WLS와 WAS 모두 잘 작동했습니다. WLS의 경우 자신의 클래스 로더는 URLClassloader를 확장하지 않지만 getClassPath()와는 다른 메소드를 갖습니다. getClassPath()는 클래스 경로 항목의 정렬 된 목록을 반환합니다. 모든 WAS 클래스 로더는 URLClassloader를 확장하는 것처럼 보이므로 getURLs()가 정상적으로 작동합니다. 아직 JBoss에서 시도하지 않았습니다. 마리나 – Marina