0
我使用JavaCompiler创建一个动态类。这个类实现了一个给定的接口。对于JavaCompiler,我可以创建一个正确的类路径,以便编译器可以编译我的类。
SecureClassLoader找不到依赖接口
//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);
}
我使用化名的类加载器:
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(错名:refac/MyClass)
是否可以为类加载器的编译器任务设置相同的类路径?