7

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

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

我在我的方面添加了登录,并尝试使用 junit 测试对其进行测试,但是当我运行时

mvn clean
mvn test

我得到...

[INFO] [aspectj:compile {execution: default}]

但我没有看到登录测试

如果我在 Eclipse 中编译它可以找到,但我希望它独立于 IDE(所以我可以将它与 Hudson 一起使用)

PS 我使用 .aj 文件作为 Aspect

我试图用谷歌搜索它,但我找不到任何有效的例子。

4

1 回答 1

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>

如果这些都不起作用,您可以发布您的 pom 内容吗?它可能有助于识别问题。

于 2009-07-18T21:34:54.887 回答