2012-01-03 16 views
19

Tengo un proyecto que actualmente funciona con java 6 y tiempo de compilación. se utiliza la siguiente pom para permitir a los aspectos de la primavera y nuestros propios: losCómo habilitar el tiempo de compilación de aspectj tejiendo con Java 7 y maven

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>aspectj-maven-plugin</artifactId> 
    <version>1.4</version> 
     <configuration> 
     <showWeaveInfo>true</showWeaveInfo> 
     <source>1.6</source> 
     <target>1.6</target> 
     <Xlint>ignore</Xlint> 
     <complianceLevel>1.6</complianceLevel> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <aspectLibraries> 
      <aspectLibrary> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aspects</artifactId> 
      </aspectLibrary> 
     </aspectLibraries> 
     </configuration> 
     <executions> 
     <execution> 
      <goals> 
      <goal>compile</goal> 
      <goal>test-compile</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 

que he probado varias configuraciones, pero no puedo hacer que funcione con Java 7. Si alguien podría compartir un pom de trabajo o la conduce sería genial.

+0

¿Cuales son los sintomas? –

+1

Después de pasar a la versión 1.7.0.M1 de aspectjtools comenzó a funcionar –

Respuesta

29

Después de pasar a la versión 1.7.0 del aspectjtools funciona bien. Además, debe pasarle al compilador el parámetro de versión como -1.7 (utilizando el parámetro target como un problema). Si alguien necesita más detalles, deje un comentario y agregaré más información específica de configuración.
se puede tomar un ejemplo de trabajo de aquí: Spring, AspectJ and Maven example
Aquí es la definición del plugin de trabajo desde el POM (compilador-version = "1.7", aspectj.version = "1.7.0")

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>aspectj-maven-plugin</artifactId> 
    <version>1.4</version> 
    <configuration> 
     <showWeaveInfo>true</showWeaveInfo> 
     <source>${compiler.version}</source> 
     <target>${compiler.version}</target> 
     <Xlint>ignore</Xlint> 
     <complianceLevel>${compiler.version}</complianceLevel> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <aspectLibraries> 
      <aspectLibrary> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-aspects</artifactId> 
      </aspectLibrary> 
     </aspectLibraries> 
    </configuration> 
    <executions> 
     <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>test-compile</goal> 
      </goals> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>${aspectj.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjtools</artifactId> 
      <version>${aspectj.version}</version> 
     </dependency> 
    </dependencies> 
</plugin> 
+0

¿Puedes publicar tu pom.xml? En 1.7 cuando hago una compilación limpia obtengo: org.aspectj.weaver.BCException: malformed org.aspectj.weaver.Declare attribute (length: 45) org.aspectj.weaver.BCException: Bad type signature. Pero si llamo mvn compile por segunda vez, se genera, pero las mejoras posteriores dan un "Esperando un marco de mapa de pila en el objetivo de la rama". Todavía estoy investigando eso. – Cojones

+0

Acabo de mudarme al recientemente lanzado aspectj 1.7.0 y java 1.7, y también estoy obteniendo el error sobre "Esperando un marco de mapa de distribución en el destino de la rama". ¿Has resuelto alguna vez este problema? – Jay

+0

¿Especificó el aspecto correcto y las versiones del compilador? Lo uso a diario y funciona muy bien. ¿Qué parte del pom necesita (agregaré las partes faltantes)? –

Cuestiones relacionadas