本帖最后由 毕影彬 于 2012-10-21 17:59 编辑
java动态编译已经的方法有很多实现,但实现下面的问题仍然没有办法,请各位大虾指点迷津
假如存在一个类文件
package test;
public class T1 {
public static void main(String arg[]){
new T2().print("你会成功吗?");
}
}
现在要动态编译类T1,类T2的ClassLoad是自定义的,T2.class在文件系统中不存在(也是动态加载的),
但可以通过T2的ClassLoad提供,T2内容如下:
package test;
public class T2 {
public T2(){
}
public void print(String text){
System.out.println(text);
}
}
这样,在使用ToolProvider.getSystemJavaCompiler() 动态编译T1.java时,无法找到T2.class定义而报错,
在T2中还可能加载其他类似的动态类文件,但可以提供定义或class的byte,
这该如何是好,如何是好.............
|