Here是一个jfrom artifactory插件概述。他们告诉我们:
默认情况下,插件的调用阶段是“验证”,我们建议您不要更改它,以便在Maven构建的生命周期中尽早调用插件。
据我所知(我错了?)这个插件用于部署maven项目。所以这个插件应该“等待”,直到所有测试都通过,源代码编译,封装和部署工件只在delploy阶段,没有?
问题:为什么它与验证阶段相关联?
答案 0 :(得分:1)
我查看了插件的source code并找到了这一行:
String deployGoals = 'deploy,maven-deploy-plugin'
此字段用于recordBuildInfo
方法。此方法将BuildInfoRecorder
类注册为calls时deploy
真实session ends方法的监听器。
答案 1 :(得分:1)
确实artifactory-maven-plugin
应用了与通常的mojo(Maven目标)实现不同的模式:它依赖于Maven Lifecycle listeners/extensions。
看看它的github repository,实际上是mojo:
maven-deploy-plugin
default binding setting maven.deploy.skip
媒体资源true
BuildInfoRecorderLifecycleParticipant
绑定到validate
阶段是有效跳过默认deploy
行为并注册其自己的侦听器所必需的。