2013-06-12 17 views
0

我正在使用编译器API(javax.tools.JavaCompiler)中的工具来动态生成Java字节码。我构建源代码并使用API​​编译它,然后通过反射使用它。Javac:忽略“应该在名为...的文件中声明”

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

我正在寻找一种方法来绕过此错误,没有找到任何Java选项或API中。

回答