Ответ 1
Вы можете эксплицировать параметр источника плагина aspectj. Docs здесь.
Я пытаюсь использовать aspectj-maven-plugin
в проекте 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
Тем не менее, я установил следующее в моем pom.xml:
<project.build.source>1.6</project.build.source>
<project.build.target>1.6</project.build.target>
У меня есть некоторые зависимости от:
<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>
Как решить эту проблему? Спасибо.
Решение
Я добавил следующее в мой pom.xml, и теперь он работает:
<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>
Вы можете эксплицировать параметр источника плагина aspectj. Docs здесь.
Я смог решить эту проблему, добавив следующее в мой pom:
<properties>
<project.build.java.target>1.6</project.build.java.target>
</properties>
смог найти это из этот пост.
Отметьте эту страницу, и в этом примере я вижу свойство конфигурации "complianceLevel"; установка на 1.5 или 1.6 может сделать трюк (так как у них минимум 1.4, я предполагаю, что по умолчанию).