语法错误,仅当源代码级别为 5.0 时,注释才可用 - Maven 中的 AspectJ

2022-09-03 14:28:57

我正在尝试在 maven 项目中使用 。在编译时,我得到:aspectj-maven-plugin

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>

答案 1

您可以显式设置 aspectj 插件的源参数。文档在这里


答案 2

我能够通过向我的pom添加以下内容来解决此问题:

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

能够从这篇文章中找到这个。


推荐