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资源路径
1700439762
1700439763
private static URI_createStringJavaObjectUri(String name){
1700439764
1700439765
//注意此处没有设置包名
1700439766
1700439767
return URI.create(“String:///”+name+Kind.SOURCE.extension);
1700439768
1700439769
}
1700439770
1700439771
//文本文件代码
1700439772
1700439773
@Override
1700439774
1700439775
public CharSequence getCharContent(boolean ignoreEncodingErrors)
1700439776
1700439777
throws IOException{
1700439778
1700439779
return content;
1700439780
1700439781
}
1700439782
1700439783
}
1700439784
1700439785
上面的代码较多,这是一个动态编译的模板程序,读者可以拷贝到项目中使用,代码中的中文注释也较多,相信读者看得懂,不多解释,读者只要明白一件事:只要是在本地静态编译能够实现的任务,比如编译参数、输入输出、错误监控等,动态编译就都能实现。
[
上一页 ]
[ :1.700439736e+09 ]
[
下一页 ]