首页 > 解决方案 > 如何让`mvn package`知道它已经构建了目标

问题描述

在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知道源文件,类似于 how makeknow this 所以它只会说“不需要,它已经构建了”。

标签: mavenmaven-assembly-plugin

解决方案


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

无论如何,感谢您回答我的问题,即 maven 打包插件无法处理此依赖项跟踪。


推荐阅读