2011-11-09 19 views
5

Tengo un proyecto de Eclipse Maven para spring-data-jpa y QueryDsl.Problemas de compilación de Maven con spring-data-jpa y querydsl

Parece que tengo un problema con maven-apt-plugin donde si hago un mvn clean seguido de una instalación mvn, trata de "procesar" archivos que hacen referencia a los archivos QueryDsl generados, pero estos archivos generados no tienen aún se ha creado, así que recibo múltiples errores de "no se puede encontrar el símbolo".

Si luego tiene que hacer otra instalación mvn, todo está bien ya que los archivos generados ahora existen.

¿Necesita este maven-apt-plugin procesar cada archivo en mi proyecto, o puedo darle un directorio específico?

Nota: Im usando JDK6, Eclipse Indigo, M2E 1.0.100

Mi POM es ...

<project> 
    .... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>com.mysema.maven</groupId> 
     <artifactId>maven-apt-plugin</artifactId> 
     <version>1.0.2</version> 
     <executions> 
      <execution> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>process</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>target/generated-sources</outputDirectory> 
       <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    .... 
</project> 
+0

¿Tiene exactamente el mismo problema si utiliza maven without eclipse? – Ralph

+0

Hola Ralph, mira mis comentarios a continuación. Gracias. – Alex

Respuesta

4

Alex, tratar de definir la acumulación de ayudante:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>add-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>add-source</goal> 
       <goal>add-test-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
        <source>target/generated-sources</source> 
        <source>src/main/java</source> 
       </sources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
1

¿Le da errores o sólo advertencias? Puede agregar el verdadero para reducir el registro de errores.

Este tipo de registro forma parte de APT, ya que en la primera ejecución antes de generar los tipos, la inspección de fuentes ve referencias a tipos no disponibles.

+0

En la ventana de la consola de Eclipse, en maven-apt-plugin: 1.0.2: etapa de proceso, obtengo un texto en rojo (no registrando) que indica que no se encontraron los símbolos. Esto es para cualquier clase que haga referencia a las clases generadas QDSL. – Alex

+0

Las pruebas que se ejecutan como parte de la instalación de mvn fallan cuando Spring falla por errores de compilador no resueltos. Si rehago la instalación de mvn inmediatamente, todo funciona perfectamente. – Alex

+0

Siguiendo el comentario anterior de Ralph, si ejecuto mvn clean y luego mvn install desde la línea de comandos, veo el mismo resultado del maven-apt-plugin con respecto a símbolos no encontrados, sin embargo, no tengo problemas con las pruebas que fallan. Por lo tanto, este problema solo se experimenta en Eclipse – Alex

1

que tiene muchos "no puede encontrar el símbolo" Inicio de sesión (y el tratamiento tuvo éxito), también. Parece estar relacionado con el siguiente problema.

https://github.com/mysema/maven-apt-plugin/issues/2

fijado por la adición de las siguientes opciones.

<logOnlyOnError>true</logOnlyOnError> 
Cuestiones relacionadas