JDT 插件包含增量式和批处理 Java 编译器,用以根据源代码来构建 Java 的 .class 文件。编译器没有提供直接 API。在 Java 项目上,它是作为增量式构建器安装的。编译是使用标准平台构建机制触发的。
在资源构建器中详细地描述了平台构建机制。
可以使用构建 API 来使用程序编译项目中的 Java 源文件。
IProgressMonitor myProgressMonitor;
myProject.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, myProgressMonitor);
对于 Java 项目,这将调用 Java 增量式项目构建器(以及已经添加到项目的构建规范中的任何其他增量式项目构建器)。
JDT 核心定义了专用标记(标记类型“org.eclipse.jdt.core.problem”)来指示编译问题。要使用程序发现由编译器检测到的问题, 应该使用标准的平台标记协议。有关使用标记的概述,参见资源标记。
以下代码片段查找编译单元中的所有 Java 问题标记。
public IMarker[] findJavaProblemMarkers(ICompilationUnit cu)
throws CoreException {
IResource javaSourceFile = cu.getUnderlyingResource();
IMarker[] markers =
javaSourceFile.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER,
true,
IResource.DEPTH_INFINITE);
}
Java 问题标记是由 Java 增量式项目构建器来维护的, 在问题得到解决以及重新编译 Java 源代码后,将自动除去这些标记。