【问题标题】:Calling maven exec plugin after src has been compiled and before it is packaged在 src 编译之后和打包之前调用 maven exec 插件
【发布时间】:2012-07-17 21:56:05
【问题描述】:

我想使用 ASM 修改类。我想使用 Exec 插件(或这里的人们建议的任何其他替代品),在编译完成后修改类,但在它被 jarred(打包)之前。关于如何使用 maven 做到这一点的任何建议?

谢谢

【问题讨论】:

    标签: maven plugins exec maven-assembly-plugin


    【解决方案1】:

    欢迎来到 Stack Overflow。

    似乎没有适用于 ASM 的插件,但据我了解,更好的解决方案是开发一个插件,它可以满足您的需求。开发插件非常简单。

    绑定到编译阶段,就OK了。

    如果你真的不想开发插件,你应该这样做:

     <plugin>
            <artifactId>maven-exec-plugin</artifactId>
            <version>???</version>
            <executions>
                <execution>
                    <!-- The name you want, no really matter -->
                    <id>asm-compile</id>
                    <configuration>
                        ...
                    </configuration>
                    <!-- The phase you want to bind to -->
                    <phase>compile</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
                <execution>
    

    【讨论】:

    • 看来process-classes 是要绑定的阶段。请参阅maven lifecycle reference
    • compilepackage(创建jar文件的阶段)之间有不少phases可以绑定maven-exec-plugin。打包前的最后一个阶段是prepare-package
    • 谢谢!我已经将它绑定到测试编译阶段,但是将它绑定到进程类是要走的路。
    猜你喜欢
    • 1970-01-01
    • 2013-08-23
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2019-02-25
    • 2021-05-29
    相关资源
    最近更新 更多