Compilando o Código Java

Os plug-ins do JDT incluem um compilador Java batch e incremental para construir arquivos Java .class a partir do código fonte. Não há uma API direta fornecida pelo compilador. Ela é instalada como um construtor incremental nos projetos Java. A compilação é disparada utilizando mecanismos de construção de plataforma padrão.

O mecanismo de construção de plataforma é descrito com detalhes em construtores de recursos.

Código de Compilação

É possível de maneira programática, compilar os arquivos fonte Java em um projeto que utilize a API de construção.

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

Para um projeto Java, isso chamará o construtor de projeto incremental Java (juntamente com outros construtores de projeto incrementais que tenham sido incluídos na especificação de construção do projeto).

Determinação de Problemas

O core do JDT define um marcador especializado (tipo de marcador "org.eclipse.jdt.core.problem") para indicar problemas de compilação. Para descobrir os problemas detectados pelo compilador de maneira programática, deve-se utilizar o protocolo de marcador de plataforma padrão. Consulte marcadores de recursos para obter uma visão geral da utilização de marcadores.

O seguinte trecho procura todos os marcadores de problemas Java em uma unidade de compilação.

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

Os marcadores de problemas Java são mantidos pelo construtor de projeto incremental Java e são removidos automaticamente à medida que os problemas são resolvidos e a origem Java é recompilada.