【问题标题】:Maven vs. AspectJ - Example?Maven 与 AspectJ - 示例?
【发布时间】:2010-11-12 00:25:54
【问题描述】:

我的方面在带有 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 一起使用)

附:我为 Aspect 使用 .aj 文件

我尝试用谷歌搜索,但找不到任何可行的示例。

【问题讨论】:

    标签: java eclipse maven-2 aop aspectj


    【解决方案1】:

    没有看到你的 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 内容吗?这可能有助于确定问题。

    【讨论】:

    • 我认为你不必再将方面放在 src/main/java 中了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多