【发布时间】:2012-07-17 21:56:05
【问题描述】:
我想使用 ASM 修改类。我想使用 Exec 插件(或这里的人们建议的任何其他替代品),在编译完成后修改类,但在它被 jarred(打包)之前。关于如何使用 maven 做到这一点的任何建议?
谢谢
【问题讨论】:
标签: maven plugins exec maven-assembly-plugin
我想使用 ASM 修改类。我想使用 Exec 插件(或这里的人们建议的任何其他替代品),在编译完成后修改类,但在它被 jarred(打包)之前。关于如何使用 maven 做到这一点的任何建议?
谢谢
【问题讨论】:
标签: maven plugins exec maven-assembly-plugin
欢迎来到 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。
compile和package(创建jar文件的阶段)之间有不少phases可以绑定maven-exec-plugin。打包前的最后一个阶段是prepare-package。