【问题标题】:Prevent AspectJ Maven plugin from rewriting classes防止 AspectJ Maven 插件重写类
【发布时间】:2017-04-25 11:37:31
【问题描述】:

我遇到了以下问题:我的插件在编译后为某些类添加了某些注释。我需要 AspectJ 插件来处理它们。所以我的插件在 AspectJ 插件之前运行。我的插件添加了注释,但是 AspectJ 插件重写了类(据我所知,它编译源而不是处理类)。所以我想以某种方式强制 AspectJ 插件不要以某种方式或其他方式重写和处理我的注释,以使我的注释不会消失。

感谢您的帮助!

更新:任何编织二进制文件的插件都会非常有帮助。

【问题讨论】:

    标签: maven aspectj maven-plugin aspectj-maven-plugin compile-time-weaving


    【解决方案1】:

    我终于找到了解决方案。有一个很棒的插件,比如 jcabi-maven-plugin!这是它的配置:

           <plugin>
                <groupId>com.jcabi</groupId>
                <artifactId>jcabi-maven-plugin</artifactId>
                <version>0.14.1</version>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>ajc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    

    这个插件编织二进制文件。所以我解决了我的问题,只需在此之前插入我的插件配置。即使在有 aspectj-maven-plugin 的情况下,这个很酷的东西也可以工作。您可以将 jcabi-maven-plugin 配置为在 aspectj-maven-plugin 之后运行,一切都会正常运行(至少对我而言)!

    更新: 移除插件库

    【讨论】:

    • 你不需要使用1.0-SNAPSHOT版本。 0.14.1 是最新的稳定版本,它可以满足您的所有需求,就像快照一样好 :)
    • @yegor256 非常感谢,它将使我的文凭工作的配置更加漂亮!
    猜你喜欢
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2011-04-08
    • 2013-11-06
    • 2012-12-18
    • 1970-01-01
    相关资源
    最近更新 更多