JavaCompiler를 사용하여 동적 클래스를 만듭니다. 이 클래스는, 지정된 인터페이스를 구현합니다. JavaCompiler에서 컴파일러가 내 클래스를 컴파일 할 수 있도록 올바른 클래스 경로를 만들 수 있습니다.
SecureClassLoader가 종속 인터페이스를 찾지 못함
return new SecureClassLoader() {
@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
byte[] b = javaClassObject.getBytes();
return super.defineClass(name, javaClassObject.getBytes(), 0, b.length);
}
};
가 컴파일 된 클래스를로드하지만 loadClass 메소드를 호출 할 때이 오류가 : 않는 NoClassDefFoundError : refac/IBewertungsAlgorithmus (잘못된 이름을
//creating the classpath from parent application to be same as the runtime's
ClassLoader dummyc=getClass().getClassLoader();
URLClassLoader urlClassLoader=(URLClassLoader)dummyc;
URL[] urls=urlClassLoader.getURLs();
String classpath = "";
for (URL i : urls) {
classpath += ";" + i.getPath().substring(1);
}
가 나는 익명의 클래스 로더를 사용 : refac/MyClass)
클래스 로더에 대한 컴파일러 작업에 대해 설정 한 것과 동일한 클래스 경로를 설정할 수 있습니까?