我正在使用 JavaCompiler 在运行时编译 Java 代码。在大多数情况下,它运作良好。编译过程中没有异常,运行良好。我要求它编译一个带有 @Entity 注释的类。但是,我不断收到“第 3 行错误 - 预期类、接口或枚举”。
这是我的实体类:
@Entity
public class Contact {
@Getter @Setter
private String FirstName;
@Getter @Setter
private String LastName;
}
这就是我使用 JavaCompiler 编译它的方式:
List<String> optionList = new ArrayList<String>();
optionList.add("-classpath");
optionList.add(System.getProperty("java.class.path"));
Iterable<? extends JavaFileObject> compilationUnit
= fileManager.getJavaFileObjectsFromFiles(Arrays.asList(newClassFile));
JavaCompiler.CompilationTask task = compiler.getTask(
null,
fileManager,
diagnostics,
optionList,
null,
compilationUnit);