无法使用JavaCompiler编译@Entity之类的注释

时间:2019-05-04 17:27:23

标签: java java-compiler-api javacompiler

我正在使用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);

1 个答案:

答案 0 :(得分:0)

已解决。看起来我只需要在构建时添加持久性api jar。