0

我正在使用编译器 API (javax.tools.JavaCompiler) 中的工具来动态生成 Java 字节码。我构建源代码并使用 API 编译它,然后通过反射使用它。

只要我只尝试生成的非公共类,那就太好了。如果我这样做,我会得到一个“MyClass 类是公共的,应该在名为 MyClass.java 的文件中声明”,这是完全正常的,它不是从 Java 文件编译的。

我正在寻找绕过此错误的方法,在 Java 选项和 API 中都没有找到。

4

1 回答 1

1

查看这篇文章:从字符串创建类

对我来说,使用“string:///”解决这个问题。

正如这里所描述的那样http://www.javablogging.com/dynamic-in-memory-compilation/

于 2013-07-07T16:33:53.930 回答