클래스가 거의없고 그 안에 정의 된 메서드가있는 Jar 파일을 읽으려고합니다. 각 클래스를로드하지 않고 모든 클래스에서 선언 된 모든 메서드를 가져 오려고합니다. 그것은 가능한가?클래스를로드하지 않고 jar에서 메소드를로드하는 방법은 무엇입니까?
다음은 jar 파일 및 메소드를로드하는 방법입니다 (지금부터 클래스 이름 사용). 사전에
File urlclasspath = new File(newJarPath);
URL urlarray[] = new URL[1];
urlarray[0] = urlclasspath.toURI().toURL();
ClassLoader loader = new ClassLoader(urlarray);
Class<?> myclass = loader
.loadClass($classname$);
Object obj = myclass.newInstance();
Method add = myclass.getMethod("add", new Class[] { Integer.TYPE,
Integer.TYPE });
add.invoke(obj,
new Object[] { new Integer(var1), new Integer(var2) });
if (obj == null) {
System.out
.println("FAIL: Could not create an instance of the loaded class");
}
덕분에
그냥 궁금 해서요. 왜 이렇게하고 싶습니까? – Fildor
@Yunkhan 가능하지 않습니다 – 1ac0
이클립스 플러그인이 필요합니다 .. – Yunkhan