我想进行一些实验,并在String中生成一个java程序(实验本身就是Java)。
现在我想测试它是否编译。如何在Java中使用String
对象并查看它是否是合法的Java代码?
澄清:
String prog = "public interface B {public void speak();}"
boolean doesItCompile = ???
答案 0 :(得分:6)
答案 1 :(得分:1)
看看JavaCompiler
。 API文档提供了一个示例,说明如何创建许多编译任务并在每个任务上调用调用。 call
方法返回一个布尔值,表示每次编译尝试是否成功。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您只想验证String的内容是否是合法的Java代码,那么您应该查看antlr。它可用于解析java源文件并创建抽象语法树。如果失败,则输入无效。
this question的第一个答案显示了一个简单语法的工作示例。你必须改用Java语法。