1700439712
1700439713
//设置编译环境
1700439714
1700439715
JavaCompiler.CompilationTask task=cmp.getTask(null, fm, null,
1700439716
1700439717
optionsList, null, jfos);
1700439718
1700439719
//编译成功
1700439720
1700439721
if(task.call()){
1700439722
1700439723
//生成对象
1700439724
1700439725
Object obj=Class.forName(clsName).newInstance();
1700439726
1700439727
Class<?extends Object>cls=obj.getClass();
1700439728
1700439729
//调用sayHello方法
1700439730
1700439731
Method m=cls.getMethod(methodName, String.class);
1700439732
1700439733
String str=(String)m.invoke(obj,“Dynamic Compilation”);
1700439734
1700439735
System.out.println(str);
1700439736
1700439737
}
1700439738
1700439739
}
1700439740
1700439741
}
1700439742
1700439743
//文本中的Java对象
1700439744
1700439745
class StringJavaObject extends SimpleJavaFileObject{
1700439746
1700439747
//源代码
1700439748
1700439749
private String content=””;
1700439750
1700439751
//遵循Java规范的类名及文件
1700439752
1700439753
public StringJavaObject(String_javaFileName, String_content){
1700439754
1700439755
super(_createStringJavaObjectUri(_javaFileName),Kind.SOURCE);
1700439756
1700439757
content=_content;
1700439758
1700439759
}
1700439760
1700439761
//产生一个URL资源路径
[
上一页 ]
[ :1.700439712e+09 ]
[
下一页 ]