Here是 jfrom Artifact 插件概述。他们告诉:
The plugin's invocation phase is "validate" by default and we recommend you don't change it so the plugin is called as early as possible in the lifecycle of your Maven build.
据我了解(我错了吗?)这个插件是用来部署maven项目的。所以这个插件应该“等待”直到所有测试都通过,源代码编译并仅在 delploy 阶段打包和部署 Artifact ,不是吗?
问题:为什么它与验证阶段相关联?
最佳答案
事实上,artifactory-maven-plugin
应用了与通常的 mojo(Maven 目标)实现不同的模式:它依赖于 Maven Lifecycle listeners/extensions .
看看它的github repository ,魔力实际上是:
- 确保跳过
maven-deploy-plugin
default binding通过 settingmaven.deploy.skip
属性为true
- 向构建 session 添加自定义 Maven 监听器,即
BuildInfoRecorderLifecycleParticipant
- 然后在适当的时刻有效 deploys通过其插件。
绑定(bind)到 validate
阶段对于有效跳过默认的deploy
行为并注册其自己的监听器是必要的。
关于java - 为什么 jfrog maven artifactory 插件在验证阶段被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39525959/