2012-07-03 14 views
8

¿Cuáles son las versiones de configuración/versiones/complemento adecuadas para que el complemento aspectj use Java 7?¿Cómo se configura el complemento aspectj maven para usar Java 7?

Estoy tratando de actualizar de Java 6 a Java 7, y el compilador de aspectj parece no estar compilando Java 7. Estoy especificando la versión Java y la versión de destino como 1.7 en la configuración del plugin para el complemento aspectj y para el plugin de compilador maven Introduje la sintaxis específica de Java7 a mi código, agregando varias funciones de idioma como cadena en el interruptor y el operador de diamante. Durante la construcción, recibo errores de aspectj sobre la sintaxis de Java7. La primera señal de que las cosas van mal es:

[INFO] --- aspectj-maven-plugin:1.4:compile (default) @ site --- 
[ERROR] Cannot switch on a value of type String. Only int values or enum constants are permitted 
[ERROR] Cannot instantiate the type HashSet<?> 
[ERROR] Syntax error on token "<", ? expected after this token 

Si quito la sección ejecuciones desde el plugin aspectj experto por lo que no se ejecuta, y el uso de MVN instalación limpia, el nuevo código compila bien. Entonces creo que es algo mal configurado con aspectj. Aquí está mi configuración del plugin:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java-version>1.7</java-version> 
    <org.aspectj-version>1.6.11</org.aspectj-version> 
</properties> 

     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>aspectj-maven-plugin</artifactId> 
      <version>1.4</version> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjrt</artifactId> 
        <version>${org.aspectj-version}</version> 
       </dependency> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjtools</artifactId> 
        <version>${org.aspectj-version}</version> 
       </dependency> 
      </dependencies> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>test-compile</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <complianceLevel>${java-version}</complianceLevel> 
       <encoding>${project.build.sourceEncoding}</encoding> 
       <outxml>true</outxml> 
       <source>${java-version}</source> 
       <target>${java-version}</target> 
      </configuration> 
     </plugin> 

también aspectjrt se define como una dependencia exterior de la sección de plugins

<dependencies> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>${org.aspectj-version}</version> 
    </dependency> 
<dependencies> 

Respuesta

8

He actualizado desde 1.6.11 a 1.7.0, que se ha lanzado desde que pedí esta pregunta. Ya no tengo ningún aspecto/Java1.7 problemas, por lo que resuelve esta pregunta.

+0

También hay una solicitud de función, espero que se solucione pronto http://jira.codehaus.org/browse/MASPECTJ-108 – ozhan

+0

¿versión de aspectj? – pavan

Cuestiones relacionadas