Compilar código de Java

Entre los conectores de JDT se incluye un compilador de Java incremental y por lotes para construir archivos .class de Java a partir del código fuente. El compilador no ofrece ninguna API directa. Se instala como un constructor incremental de proyectos de Java. La compilación se activa utilizando mecanismos estándar de construcción de la plataforma.

Los mecanismos de construcción de la plataforma se describen con detalle en el apartado constructores de recursos.

Compilar el código

Los archivos fuente de Java de un proyecto pueden compilarse desde programa utilizando la API de construcción (build).

IProgressMonitor myProgressMonitor;
myProject.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, myProgressMonitor);

Para un proyecto de Java, este código llamaría al constructor incremental de proyectos de Java (junto con todos los otros constructores incrementales de proyectos que se hayan añadido a las especificaciones de construcción del proyecto).

Determinación de problemas

El núcleo de JDT define un marcador especializado (tipo de marcador "org.eclipse.jdt.core.problem") para señalar los problemas de compilación. Para encontrar desde programa los problemas detectados por el compilador, debe utilizarse el protocolo estándar de marcadores de la plataforma. En el apartado marcadores de recursos hallará una introducción sobre el uso de los marcadores.

El fragmento de código siguiente busca todos los marcadores de problemas de Java de una unidad de compilación.

public IMarker[] findJavaProblemMarkers(ICompilationUnit cu) 
    throws CoreException {
    IResource javaSourceFile = cu.getUnderlyingResource();
    IMarker[] markers = 
        javaSourceFile.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER,
            true, IResource.DEPTH_INFINITE);
}

El constructor incremental de proyectos es el encargado del mantenimiento de los marcadores de problemas de Java y se eliminarán automáticamente en cuanto se solucionen los problemas y el código de Java vuelva a compilarse.