Maven vs. AspectJ - 示例?

mar*_*tin 7 java eclipse aop maven-2 aspectj

我的方面在Eclipse中使用AspectJ插件很有效,但是如果我尝试将它与Maven一起使用,我得到......没什么.

我试过这个http://mojo.codehaus.org/aspectj-maven-plugin/includeExclude.html

我在我的方面添加了loggin,我尝试使用junit测试来测试它,但是当我运行时

mvn clean
mvn test
Run Code Online (Sandbox Code Playgroud)

我明白了......

[INFO] [aspectj:compile {execution: default}]
Run Code Online (Sandbox Code Playgroud)

但我没有看到登录测试

如果我在Eclipse中进行编译它可以找到,但我喜欢它是IDE独立的(所以我可以将它与Hudson一起使用)

PS我使用.aj文件为Aspect

我试图谷歌它,但我找不到任何有用的例子.

Ric*_*ler 8

在没有看到你的POM的情况下很难说,有一点需要检查的是Maven希望你的方面在src/main/aspect下而不是src/main/java默认情况下.

您还需要确保aspectj运行时库位于类路径上(在Eclipse中,它包含在AJDT类路径容器中).

例如(来自插件文档):

<project>
    ...
    <dependencies>
        ...
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.6.2</version>
        </dependency>
        ...
    </dependencies>
    ...
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal> <!-- use this goal to weave all your main classes -->
                            <goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
                        </goals>
                    </execution>
               </executions>
           </plugin>
           ...
       </plugins>
   <build>
...
</project>
Run Code Online (Sandbox Code Playgroud)

如果这些都不起作用,你可以张贴你的pom内容吗?它可能有助于确定问题.