如何使用Java 7和maven启用aspectj编译时编织 [英] How to enable aspectj compile time weaving with Java 7 and maven

查看:140
本文介绍了如何使用Java 7和maven启用aspectj编译时编织的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个目前适用于java 6和编译时编织的项目。
我们使用以下pom来启用spring方面和我们自己的方面:

I have a project which currently works with java 6 and compile time weaving. We use the following pom to enable spring aspects and our own ones:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>aspectj-maven-plugin</artifactId>
  <version>1.4</version>
      <configuration>
        <showWeaveInfo>true</showWeaveInfo>
        <source>1.6</source>
        <target>1.6</target>
        <Xlint>ignore</Xlint>
        <complianceLevel>1.6</complianceLevel>
        <encoding>UTF-8</encoding>
        <verbose>false</verbose>
        <aspectLibraries>
          <aspectLibrary>
             <groupId>org.springframework</groupId>
             <artifactId>spring-aspects</artifactId>
          </aspectLibrary>
        </aspectLibraries>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>compile</goal>
            <goal>test-compile</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

我尝试了各种配置,但无法使其与java 7一起使用。
如果有人可以共享一个工作pom或领导它会很棒。

I've tried various configuration but can't make it work with java 7. If someone could share a working pom or leads it would be great.

推荐答案

转移到1.7版本的aspectjtools之后工作良好。此外,您需要将编译器的version参数传递为 -1.7 (使用 target 参数导致问题)。如果有人需要更多详细信息,请发表评论,我会添加更多配置信息。

您可以从此处获取一个有效的示例: Spring,AspectJ和Maven示例

这是pom中的工作插件定义(compiler-version =1.7,aspectj.version = 1.7.0)

After moving to version 1.7.0 of the aspectjtools it works fine. In addition you need to pass the compiler the version parameter as -1.7 (using the target parameter caused problems). If someone needs more details leave a comment and I'll add more configuration specific information.
You can take a working example from here: Spring, AspectJ and Maven example
Here is the working plugin definition from the pom (compiler-version="1.7", aspectj.version="1.7.0")

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <showWeaveInfo>true</showWeaveInfo>
        <source>${compiler.version}</source>
        <target>${compiler.version}</target>
        <Xlint>ignore</Xlint>
        <complianceLevel>${compiler.version}</complianceLevel>
        <encoding>UTF-8</encoding>
        <verbose>false</verbose>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
        </aspectLibraries>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

这篇关于如何使用Java 7和maven启用aspectj编译时编织的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆