在组装后但在安装之前对 jar 进行后处理(以获得幂等构建)
我们使用 Jenkins,它使用 md5 指纹识别来识别工件,以及自上次构建以来工件是否发生了变化。不幸的是,Maven构建总是生成二进制不同的工件。
因此,我正在考虑让 Maven 为同一组输入文件生成相同的 jar 工件,无论它们在何时何地构建,这意味着 jar 文件中的条目必须进行排序 - 不仅在索引中,而且在写入 jar 文件的顺序中。
在检查了使用maven-assembly-plugin的maven-jar-plugin之后,我的结论是,在一次写入所有文件之前,它们不会收集所有要写入内存的文件,而是一次写入一个。这意味着最好对生成的 jar 进行后处理,而不是更改当前行为,这样我就可以对条目进行排序,将时间戳归零等。
我不熟悉编写Maven插件,所以我的问题是,我应该如何编写一个插件,Maven知道如何判断正在进行的工件罐的位置以及我如何将其连接到我的pom.xml?
(起初我需要这个来处理jar文件,但war文件也会很好)。