如何使' mvn包'意识到它已经构建了目标



在makefile中,我可以轻松地执行如下操作:

${target}: ${sources}
mvn package

我有${target}生成的jar文件,${sources}所有的java文件和pom.xml。使用此makefile,除非自上次构建目标以来更改了其中一个源,否则不会重新构建目标。结果是

$> make target/demo-0.8.0-SNAPSHOT-jar-with-dependencies.jar
make: 'target/demo-0.8.0-SNAPSHOT-jar-with-dependencies.jar' is up to date.

但是只有mvn package总是运行maven-assembly-plugin,即使没有任何源文件改变。

问题:

有没有办法让mvn package知道源文件,就像make知道这一点一样,所以它只会说"不需要,它已经构建好了"。

是否有意义可能取决于用例和开发人员。在一个集成远比通过单元测试复杂得多的系统中,获得信心的唯一方法是部署到测试Kubernetes环境中。

无论如何,感谢你回答我的问题,maven打包插件无法处理这个依赖跟踪。

最新更新