我正在使用 JavaCompiler 在运行时编译 Java 代码。在大多数情况下,它运作良好。编译过程中没有出现异常,运行良好。我需要它来编译带有 @Entity 注释的类。但是,我不断收到“第 3 行错误 - 需要类、接口(interface)或枚举”。
这是我的实体类:
@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);
最佳答案
已解决。看起来我只需要在构建时添加持久性 api jar。
关于java - 无法使用 JavaCompiler 编译 @Entity 等注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55985111/