为aspectj运行JDK8

Dee*_*ani 8 java aspectj maven-plugin maven

我正在尝试使用JDK8运行aspectj-maven插件.但它给出的错误如"java.lang.CharSequence类型无法解析.它是从所需的.class文件间接引用的"

有关如何解决的任何帮助,或者aspectj-maven-plugin是否支持JDK8.我正在使用1.6版本的aspectj - maven-plugin.

Fed*_*zza 7

我必须达到同样的目的,我疯狂地试图找出这个,幸运的是我可以解决它,在这里我给你我做了什么:

aspectj-maven-plugin与Java 8一起使用,您需要版本aspectj-maven-plugin 1.7(请注意,aspectj-maven-plugin 1.6适用于Java 7).

因此,maven插件配置需要:

        <!-- AspectJ configuration -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.7-SNAPSHOT</version>
            <configuration>
                <complianceLevel>1.8</complianceLevel>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test-compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,所需的aspectJ罐子是:

    <!-- Spring AOP + AspectJ -->
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.8.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>1.8.1</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我遇到的最重要的事情是你需要手动将aspectj-maven-plugin 1.7 jar安装到你的pom.xml中,因为这个jar还没有在maven repo上.

你可以从Haus Jira那里得到它(查看附件部分):

https://jira.codehaus.org/browse/MASPECTJ-131
Run Code Online (Sandbox Code Playgroud)

顺便说一下,一旦你下载它复制到你的仓库,你需要在相应的目录中创建自己的 aspectj-maven-plugin-1.7-SNAPSHOT.pom文件.您可以从1.6版本复制它但请确保修改以下内容:

 <version>1.7-SNAPSHOT</version>

 <properties>
    <aspectjVersion>1.8.1</aspectjVersion>
    <mavenVersion>2.2.1</mavenVersion>
    <changesPluginVersion>2.9</changesPluginVersion>
 </properties>
Run Code Online (Sandbox Code Playgroud)

这就是你去的地方,希望能有所帮助.