爪哇:忽略"should be declared in a file named..."



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

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

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

查看本文:从字符串

创建类

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

就像这里描述的那样http://www.javablogging.com/dynamic-in-memory-compilation/

相关内容

  • 没有找到相关文章

最新更新