我使用的项目布局类似于this question.的accepted中描述的第一个布局。如果我的父pom是独立于项目pom进行管理、构建和部署的,我如何确保父pom的pluginManagement部分是有效的?
据我所知,Maven只检查在构建中实际使用的插件。由于我在pluginManagement中声明的大多数插件在构建父pom时都不会被使用,所以在一个子项目尝试使用它期望由父pom管理的插件之前,我无法知道我是否有一个无效的条目。
我尝试过版本插件,但它似乎忽略了不存在的插件(例如: typos)。我试着用inherited=false在我的parent-pom中声明插件,但是我必须将每个声明的插件都绑定到一个阶段。另外,我不一定想在我的父母-pom上运行这些插件。
我知道很多人使用的是parent-pom或者类似的超级pom,所以一定有我忽略的地方。
发布于 2011-09-17 21:33:00
在父pom模块中,使用部分或全部定义的插件创建一组测试maven项目,所有项目都继承父pom,并让父pom运行并验证测试maven项目的构建成功。maven-invoker-plugin可以帮助您完成所有这些任务。此插件经常用于测试maven核心插件,因此您可以在sources of maven core plugins中找到更多用法示例。
另一个建议是,只有在你需要的时候才将插件添加到父pom pluginManagement中,这样你就有机会测试它了。因此,步骤是,开始构建使用父pom中尚未存在给定插件的项目,将插件添加到父pom,释放父pom快照,在新项目中使用快照,如果一切正常,则释放父pom,并在新项目中调整对父pom的引用。稍后,对于另一个或同一项目,如果您需要其他插件或已在父pom中指定的更新版本的插件,请调整父pom,发布新的父pom快照,检查它是否适用于给定的项目,如果它确实发布了父pom,则将父引用调整为新发布的父pom。
https://stackoverflow.com/questions/7357465
复制相似问题