如何配置AspectJ的Maven插件使用Java 7?(How do you configure

2019-06-26 00:18发布

什么是适当的配置/版本/插件AspectJ的插件,使用Java 7的版本?

我想升级从Java 6到Java 7,AspectJ编译器好像不能编译Java 7,我指定Java源代码和目标版本在AspectJ的插件插件配置1.7和maven的编译器插件。 我公司推出Java7特定的语法来我的代码,加入一些语言功能,如开关串和钻石操作。 在构建,我得到关于Java7语法AspectJ的错误。 事情会出错的第一个迹象是:

[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

如果我从AspectJ的Maven插件删除执行部分,因此它不运行,MVN中使用全新安装,新的代码编译罚款。 所以,我认为这是错误配置的东西用AspectJ。 这里是我的插件配置:

<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>

也aspectjrt被定义为插件部分之外的依赖

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

Answer 1:

我更新从1.6.11到1.7.0,因为我问这个问题已被释放。 我不再有任何的AspectJ / Java1.7问题,使解决这一问题。



文章来源: How do you configure aspectj maven plugin to use Java 7?