2010-04-15 10 views
16

En nuestro proyecto estamos usando jaxb2-maven-plugin para generar código fuente de Java a partir de un Esquema XML, lo que hace que nuestro módulo Maven requiera un directorio de código fuente adicional (en nuestro caso target/generated/main/java). Hasta la fecha, he estado usando Eclipse y maven-eclipse-plugin para importar todos los proyectos al espacio de trabajo de Eclipse. El complemento es (de alguna manera) capaz de agregar el directorio con código fuente generado automáticamente al archivo Eclipse '.classpath.Cómo configurar IntelliJ IDEA y/o Maven para agregar automáticamente directorios con el código fuente de Java generado usando jaxb2-maven-plugin?

Recientemente intenta cambiar a (jugar?) IntelliJ IDEA 9 (así que soy un novato en este entorno) y me he dado cuenta de que el directorio fuente adicional no se agrega durante el proceso de importación de IDEA ...

¿Hay alguna manera en que pueda configurar IDEA/Maven para hacer el directorio de importación con el código fuente generado automáticamente?

Respuesta

24

La convención con Maven es generar código en target/generated-sources/<tool>, por ejemplo target/generated-sources/jaxb2

siguen esta convención e IDEA agregará la carpeta como carpeta de origen (ver IDEA-53198).

+1

¿Pero qué pasa si tenemos que establecer un valor personalizado? ¿Qué ocurre si el directorio también se usa con otra herramienta que está en otra fase? En este momento, con Eclipse no tenemos un problema, pero con IDEA lo hacemos. – dmatej

+0

@dmatej Es posible establecer la ubicación de las fuentes generadas. Consulte la opción 'Carpetas de fuentes generadas' en http://www.jetbrains.com/idea/webhelp/maven-importing.html – fnt

+0

Asegúrese de usar mvn idea: idea para asegurarse de que esto ocurra después de agregar el módulo de complemento mvn a su pom. –

1

Probar con maven-jaxb2-plugin. Si no funciona, entonces es un problema de IDEA.

En Maven puede agregar nuevas raíces de origen por configuración. Los complementos de Maven pueden hacer esto programáticamente. Esto es seguro el caso con maven-jaxb2-plugin. Entonces, si IDEA no lo reconoce, entonces es un problema de ese lado.

0

Puede usar el complemento Maven Build Helper. Se encuentra en http://www.mojohaus.org/build-helper-maven-plugin/

Permite configurar raíces de origen adicionales. Y la integración de IntelliJ maven agregará la nueva raíz de origen. Estamos utilizando esta característica en bastantes compilaciones y funciona muy bien. Probado con vers. 13 de IntelliJ IDEA.

2

El código generado, utilizando jaxb2-maven-plugin, me faltaba en Intellij 2017.1, mientras que Eclipse Neon lo creó. Se corrigió desde el menú contextual del módulo seleccionando 'Maven -> Generar fuentes y Actualizar carpetas'.

Cuestiones relacionadas