小编Ric*_*ard的帖子

如何在依赖解析之前运行 Maven 插件

对此有一个先前的答案,但我认为接受的答案不正确

我创建了一个 Maven 插件,它根据版本的某些方面以编程方式“摆弄”<repositories><distributionManagement>配置(因此,如果版本附加了分支名称,即 1.0.0-RC1)。这允许在功能分支构建中使用单独的 Nexus 存储库,而无需在合并回 int 之前修改 POM。

我不能只更改分支构建上的 groupId,因为这是一个 OSGi 项目,并且 groupId 必须理想地匹配源包。

问题是在依赖解析之前运行的 Maven 生命周期中似乎没有任何部分。因此,<repository>永远不会配置提供正确分辨率的目标,因此 Maven 只是抱怨它无法解决。

链接的答案表明“干净”在解决之前运行,但似乎并非如此。如果我将目标配置为具有“清理”或“验证”的默认阶段,则解决方案似乎仍会首先发生。

我可以让我的插件目标在依赖解析之前运行吗?

编辑:这似乎无法完成。我认为这需要在 Maven 中修复。在依赖解析之前,应该有地方运行需要“项目”的插件,而不必深入研究 Plexus。这将允许在后续解析期间使用的存储库列表的动态配置。大概这需要在 EventDispatcher 实现中的某处进行更改(我注意到已弃用?)。

maven-2 maven-plugin maven-3 maven maven-release-plugin

7
推荐指数
1
解决办法
1697
查看次数