0
URLClassLoader를 사용하여 jar 파일에서 java 클래스를로드하고 있습니다.클래스 로더를 통해로드 된 java 클래스의 멤버가 초기화되지 않았습니다.
String className = ...
File jarFile = ...
ClassLoader parent = this.getClass().getClassLoader();
ClassLoader urlLoader = new URLClassLoader(new URL[] { jarFile.toURI().toURL() }, parent);
Class <?> loadedClass = urlLoader.loadClass(className);
이것은 지금까지 작동하지만 loadedClass의 모든 멤버 (예 : declaredMethods, etc ...)는로드 후에 null입니다. 그게 의도 한 동작이며 모든 멤버가 사용되면 동적으로로드됩니다. 그들을 즉시 초기화하는 방법이 있습니까?
나는 isAssignableFrom()을 호출하는 NullPointerException을 가지고 이것이 이유라고 생각했던 지점까지 디버깅했다. 하지만 방금 isAssignablefrom()을 잘못된 방향으로 호출 한 것을 보았습니다. 그냥 월요일처럼 느낍니다 ;-) 당신을 괴롭히고 죄송합니다. 빠른 답변을 주셔서 감사합니다. –