13

El documentation of Maven Compiler plugin mentions the following:¿Cuál es el proceso de descubrimiento de procesadores de anotación predeterminado?

annotationProcessors:

Nombres de los procesadores de anotación para correr. Solo se aplica a JDK 1.6+ Si no es establecido, se aplica el proceso de descubrimiento de procesadores de anotación predeterminado.

¿Cuál es el proceso de descubrimiento de procesadores de anotación por defecto aquí? ¿Hay alguna otra forma de configurar procesadores de anotaciones que esta etiqueta de configuración?

He descubierto que la documentación Getting Started with the Annotation Processing Tool (apt) menciona un procedimiento de descubrimiento por defecto, pero funciona con clases de fábrica no procesadores y por desgracia, se utilizan las tools.jar y com.sun paquetes desde el JDK. ¿Es este el proceso de descubrimiento de procesadores de anotación por defecto?

Respuesta

15

La forma predeterminada de hacer que un procesador de anotación esté disponible para el compilador es registrarlo en un archivo en META-INF/services/javax.annotation.processing.Processor. El archivo puede contener una cantidad de procesadores: cada uno el nombre de clase totalmente calificado en su propia línea, con una nueva línea al final. El compilador utilizará procesadores de esta manera por defecto si no se especifica ninguno.

+3

Para ser específico, es solo un [ServiceLoader] (http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html) para 'javax.annotation.processing.Processor' – gk5885

Cuestiones relacionadas