A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毕影彬 中级黑马   /  2012-10-20 18:20  /  1334 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 毕影彬 于 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,

这该如何是好,如何是好.............

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马