Maven构建仅生成更改的工件

Pan*_*edi 6 maven-plugin maven

在我们的项目中,Maven构建为相应的文件夹结构中的不同模块(例如jar,console,car等)生成工件.

每次我们检查代码时,即使"控制台"模块中只有更改,构建也会生成全新的工件.

是否有任何Maven插件或仅生成自上次成功构建后更改的工件的方法?

例如,如果我更改了"console"模块的代码,那么生成的工件应该只在其相应的文件夹中包含控制台文件.

khm*_*ise 5

如果您在命令行上,则可以使用

mvn -pl moduleToBuild
Run Code Online (Sandbox Code Playgroud)

可与以下内容结合使用:

mvn -pl moduleToBuild -am
Run Code Online (Sandbox Code Playgroud)

这也将构建moduleToBuild的依赖.

如果您使用的是像jenkins这样的CI解决方案,则会出现一个复选框来激活此行为.这可以在Maven配置部分下找到Incremental build - only build changed modules.

您必须在多模块构建的根目录上启动maven调用.


Rag*_*ram 1

您可能想查看使用Maven Reactor 插件reactor:make-scm-changes目标。此链接有有关如何使用它的示例。