Jakie są odpowiednie wersje konfiguracji/wersji/wtyczek dla wtyczki aspectj do korzystania z Java 7?Jak skonfigurować wtyczkę aspectj maven do korzystania z Java 7?
Próbuję dokonać aktualizacji z Java 6 do Java 7, a kompilator aspectj wydaje się nie kompilować Java 7. Określam wersję źródłową java i docelową jako 1.7 w konfiguracji wtyczki dla wtyczki aspektj i dla maven kompilator wtyczki. Wprowadziłem specyficzną dla Java7 składnię do mojego kodu, dodając kilka funkcji językowych, takich jak łańcuch w przełączniku i operator diamentów. Podczas kompilacji dostaję błędy od aspektu na temat składni Java7. Pierwszy znak, że sprawy idą źle jest:
[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
Jeśli usunąć sekcję egzekucje z wtyczki AspectJ maven tak to nie działa, i użyć mvn czystej instalacji, nowy kod kompiluje grzywny. Więc myślę, że to coś źle skonfigurowanego z aspektj. Oto moja konfiguracja wtyczki:
<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>
także aspectjrt jest zdefiniowany jako zależność poza sekcji wtyczek
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependencies>
Istnieje również żądanie funkcji, mam nadzieję, że wkrótce zostanie ona naprawiona http://jira.codehaus.org/browse/MASPECTJ-108 – ozhan
aspectj wersja? – pavan