문제

주어진 인터페이스를 준수하는 Java 클래스를 통해 확장 가능한 응용 프로그램이 있습니다. 명령 줄 클래스에서 프로그램을 실행하면 다음을 사용하여 애드온 클래스를 인스턴스화 할 수 있습니다.

Class.forName("myAddon").newInstance();

그러나 응용 프로그램을 종료하면 (메인 클래스를 올바르게 설정 함) 클래스가 예외를 찾을 수 없습니다. 누구든지 여기서 무슨 일이 일어나고 있는지에 대해 약간의 빛을 발할 수 있습니까?

티아, 아담

도움이 되었습니까?

해결책

UrlClassLoader를 사용 하여이 작업을 수행하여 검색 경로를 다음과 같이 현재 디렉토리로 지정했습니다.

URLClassLoader cl = new URLClassLoader(new URL[] {new File(".").toURI().toURL()});

모든 도움에 감사드립니다.

아담

다른 팁

당신이 찾고있는 수업은 클래스 경로에 없습니다. 디렉토리에있는 경우

즉, myclass.class myjar.jar

해야 할 일 :

java -classpath . -jar MyJar.jar

그러나 실제로 우리는 질문에 답하기 위해 더 많은 정보가 필요합니다. Jar Manifest에서 설정된 메인 클래스는 무엇입니까? 당신의 클래스 경로는 무엇입니까? 로드 할 클래스를 어떻게 지정합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top