创建.java文件,并在运行时将其编译为.class文件
我正在使用XJC从XSD文件生成一大堆.java文件。我还需要将这些文件编译成.class文件,并在运行时通过反射使用它们 我遇到的问题是,在我生成.java文件并尝试编译它们之后,编译器无法正确编译它们,并给出以下错误:创建.java文件,并在运行时将其编译为.class文件,java,compilation,runtime,Java,Compilation,Runtime,我正在使用XJC从XSD文件生成一大堆.java文件。我还需要将这些文件编译成.class文件,并在运行时通过反射使用它们 我遇到的问题是,在我生成.java文件并尝试编译它们之后,编译器无法正确编译它们,并给出以下错误: .\src\com\program\data\ClassOne.java:44: error: cannot find symbol protected List<ClassTwo> description; ^
.\src\com\program\data\ClassOne.java:44: error: cannot find symbol
protected List<ClassTwo> description;
^
symbol: class ClassTwo
location: class ClassOne
您是否尝试过查找同一主题的现有线程;
例如。所以我终于明白了 显然,您可以一次将多个文件传递给编译器,这就解决了符号错误。这是一个多么简单愚蠢的解决方案
public static void compile(String... files) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
compiler.run(null, null, null, files);
}
public static void compile(String... files) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
compiler.run(null, null, null, files);
}