Подтвердить что ты не робот

Синтаксическая ошибка, аннотации доступны только в том случае, если исходный уровень 5.0 - AspectJ в Maven

Я пытаюсь использовать 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>
4b9b3361

Ответ 1

Вы можете эксплицировать параметр источника плагина aspectj. Docs здесь.

Ответ 2

Я смог решить эту проблему, добавив следующее в мой pom:

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

смог найти это из этот пост.

Ответ 3

Отметьте эту страницу, и в этом примере я вижу свойство конфигурации "complianceLevel"; установка на 1.5 или 1.6 может сделать трюк (так как у них минимум 1.4, я предполагаю, что по умолчанию).