gpt4 book ai didi

eclipse - 如何以编程方式使用 JDT 编译器?

转载 作者:行者123 更新时间:2023-12-01 20:22:09 29 4
gpt4 key购买 nike

我使用 JDT 来编译我的 java 类。 BatchCompiler 返回一个字符串,但我需要一系列问题/错误及其列和行信息。编译器.编译(单位);将错误打印到它的 printwriter,compiler.resolve(unit) 正是我想要的,但它只能编译一个 java 文件。

我用这种方式创建了一个编译器对象:

Compiler compiler = new Compiler(env, DefaultErrorHandlingPolicies.exitAfterAllProblems(), new CompilerOptions(), requestor, new DefaultProblemFactory());

并创建包含编译器文件名和文件内容的 CompilationUnits。

CompilationUnit[] units = project.toCompilationUnit();

据我所知,有两种编译方法,其中一种是compile(units)方法,它返回void并向其PrintWriter打印错误和问题,因为它不返回列信息,这对我来说没有用。另一种方法是resolve(unit)方法,但它只能与一个CompilationUnit一起使用。

compiler.resolve(units[index], true, true, true);

有谁知道如何以编程方式使用 JDT 编译器来编译多个文件?

最佳答案

org.eclipse.jdt.internal.compiler.Compiler 是内部 API。根据 JavaDoc 的 resolve 方法:用于解析给定编译单元的内部 API。可以运行编译过程的子集

相反,官方描述了编译Java文件并确定编译问题的方法here 。基本上,您创建一个 Java 项目并在其上调用 Eclipse 的构建器,然后查询该项目的 Java 问题标记。

关于eclipse - 如何以编程方式使用 JDT 编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971074/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com