0
我正在使用编译器API(javax.tools.JavaCompiler)中的工具来动态生成Java字节码。我构建源代码并使用API编译它,然后通过反射使用它。Javac:忽略“应该在名为...的文件中声明”
只要我只尝试生成的非公共类,就完全没问题。如果我这样做,我会得到一个“类MyClass是公共的,应该在名为MyClass.java的文件中声明”,这是非常正常的,它不是从Java文件编译的。
我正在寻找一种方法来绕过此错误,没有找到任何Java选项或API中。
嗯,我试图重新跑我这一代的代码......这工作的罚款。我不知道我在编译库中改变了什么,但是我不能重现这个错误。无论如何,你的链接很棒(有类似于第二个)。 – PomPom