코드에서 특정 jar 파일을 실행할 때 문제가 발생했습니다. 내 목표는 사용자가 다양한 xml 파일을 선택하고 실행할 jar 파일을 선택하고 입력 xml을 제공하는 GUI 응용 프로그램 (마법사)을 작성하는 것이 었습니다. 1: URL[] urls = fillUrls(); 2: loader = new URLClassLoader(urls); 3: Class<?> cls = loader.loadClass(className); 4: Method execute = cls.getDeclaredMethod(methodName, Properties.class, StringBuffer.class, StringBuffer.class, IContext.class); // method name is declared as: // private final String methodName = "execute";
코드에서 jar를 실행할 때 java.utilExceptionNoSuchMethodException
방법 fillUrls 실행 항아리에 필요한 실행 항아리와 다른 라이브러리의 1 개 반환 URL이 실행 줄에 :
은이 코드를 사용하여 항아리를 실행합니다. 생략하면 3 행에서 예외가 발생합니다. 메소드가 4 행에 도달하면 java.lang.NoSuchMethodException이 발생합니다.jar의 실행 된 클래스가 인터페이스를 구현하므로 그러한 메소드가 없을 가능성이 있습니다. 그리고 더 재미있게 만들기 위해 내가 테스트에 사용했던 jar 파일이 완벽하게 실행됩니다. 다른 사람들이 제공하는 jar 파일은 완벽하지 않습니다. ...
그래서 내 코드에 문제가 있거나 문제가 될 수 있습니까? 파일을 내 보냈습니까? 그것을 증명할 방법이 있습니까? 내 보낸 jar는 maven2 프로젝트에서 가져온 것입니다.
어떻게 도와야합니까? "URLClassLoader.newInstance를 유형으로 해석 할 수 없습니다."오류 만 생성합니다. 게다가, 제 문제의 원인은 4 번 줄에 있습니다. – dallows
newInstance는 URLCLassloader의 정적 메서드이며 보안 관리자가 설치된 경우 securityManager.checkPackageAccess를 호출합니다. –