2011-09-09 6 views
13

Estoy tratando de usar el aspectj-maven-plugin en un proyecto maven. En tiempo de compilación, me sale:Error de sintaxis, las anotaciones solo están disponibles si el nivel de origen es 5.0 - AspectJ en Maven

Syntax error, annotations are only available if source level is 5.0 
Syntax error, annotations are only available if source level is 5.0 
Syntax error, annotations are only available if source level is 5.0 

Sin embargo, me puse el siguiente en mi pom.xml:

<project.build.source>1.6</project.build.source> 
<project.build.target>1.6</project.build.target> 

Tengo algunas dependencias a:

<dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>1.6.11</version> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>aspectj-maven-plugin</artifactId> 
     <version>1.4</version> 
    </dependency> 

¿Cómo resuelvo ¿este problema? Gracias.

Solución

I añade el siguiente en mi pom.xml y ahora funciona:

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>aspectj-maven-plugin</artifactId> 
      <version>1.4</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>test-compile</goal> 
        </goals> 
        <configuration> 
         <source>${project.build.source}</source> <- Addition 
         <target>${project.build.target}</target> <- Addition 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

@Paul No, yo no. Ahora funciona. Si creas una solución, la aprobaré. Gracias. – JVerstry

+0

Claro, haré. Aclamaciones. –

+0

Además, necesitaba la adición del argumento de configuración de complianceLevel también. Vea más aquí: http://stackoverflow.com/questions/21548548/adding-aspectj-to-pom-xml-changed-java-version-with-maven-why – JoshC13

Respuesta

7

Puede establecer explícitamente el parámetro fuente del complemento aspectj. Docs here.

3

Marque esta page y veo una propiedad de configuración "complianceLevel" en ese ejemplo; configurar eso en 1.5 o 1.6 podría hacer el truco (ya que tienen un mínimo de 1.4, supongo que es el valor predeterminado).

4

que era capaz de resolver este problema agregando lo siguiente a mi pom:

<properties> 
<project.build.java.target>1.6</project.build.java.target> 
</properties> 

fue capaz de encontrar esto desde this puesto.

+0

Este es el único que funcionó para mí. – CorayThan

Cuestiones relacionadas