2009-04-19 16 views
10

Quiero autogenerar algunas clases de Java desde las interfaces. Mi primer pensamiento fue escribir un generador de código e integrarlo como un plugin maven.Generación de código en Maven

Estaba pensando en crear un plugin maven con un objetivo codegen que se llama durante el proceso de compilación.

Entonces, si elijo esta ruta, ¿cómo proporciono el complemento con las interfaces para procesar? ¿Y a dónde deberían ir los archivos generados?

¿Hay algún complemento existente que se pueda configurar para generar implementaciones de clases predeterminadas?

Respuesta

6

fuentes deberían ir en {project.build.directory} /-fuentes generados/[plugin-id]/

La mayoría de los plugins toman configuración pasado a través de la sección de configuración del plugin en el POM. También puede usar valores predeterminados, o una anotación y escaneo de classpath.

Un complemento como el maven-jspc-plugin genera código, que puede ver. El libro electrónico "Better Builds With Maven" también contiene un capítulo bastante completo sobre cómo escribir complementos.

+0

Es normal que entren en un subdirectorio de fuentes generadas. Descubrí que el soporte NetBeans asume esto. –

+2

Más completamente, deberían ir a {project.build.directory}/generated-sources/ rtenhove

3

Tal vez eche un vistazo al complemento XDoclet Maven: XDoclet se utiliza a menudo para generar fuentes del marcado de estilo de documento en clases (por ejemplo, generar automáticamente interfaces MBean a partir de implementaciones) y eso suena similar a lo que está haciendo.

1

He utilizado APT-Jelly para generar con éxito el código fuente de Java anotado java. Es posible que desee comprobarlo.

Cuestiones relacionadas