gpt4 book ai didi

maven - 跳过已经发布到 Maven Central 的 Maven 模块

转载 作者:行者123 更新时间:2023-12-02 04:25:10 25 4
gpt4 key购买 nike

假设我有一个聚合 Maven 项目。 com.example:foo:1.0.0 是聚合父 POM,它包含子项目 com.example:bar:2.0.0。我使用 nexus-staging-maven-plugin 将它们都发布到 Maven Central。请注意,对于 com.example:bar:2.0.0 的版本,我没有在父 POM 中使用依赖管理,即使它是一个子项目。也就是说,这两个版本没有捆绑在一起。

我还在其他项目中使用 com.example:foo:1.0.0 作为父 POM,所以我希望它的坐标不要不必要地改变(例如,以不同的方式多次发布)坐标,即使内容没有改变)。

原来com.example:bar:2.0.0变化挺频繁的,所以想发布com.example:bar:2.1.0。但我将从该存储库 com.example:foo:1.0.0 中的聚合父 POM 进行构建。我是否也必须增加父 POM 的版本,即使父 POM 没有更改,即使版本没有以任何方式相互关联?我更愿意让 nexus-staging-maven-plugin 简单地意识到 com.example:foo:1.0.0 已经发布,跳过它,然后继续发布 com.example:bar:2.1.0

这个问题还扩展到一个已经发布的兄弟模块。有什么方法可以配置 nexus-staging-maven-plugin 以跳过已发布的模块,但继续构建和发布其他尚未发布的兄弟项目?

从这个简化的示例中,我相信有人会忍不住回答,“但你不应该那样做”。在我更复杂的示例中,有一些原因可能会像我解释的那样这样做是有利的;此外,该回答仍然会使实际问题得不到回答。

我也意识到我可以做一些测试看看会发生什么,也许我会,但我在这里发布问题是为了 1) 获得权威答案,2) 促进对选项的讨论,以及 3) 离开对于其他可能有相同问题的人,这里有一些明确的答案。谢谢。

最佳答案

据我所知,nexus-staging-maven-plugin 没有用于分离或忽略某些 Artifact 的用户属性。

您可以编写自己的插件来获取 Maven 项目并从中删除某个 Artifact 。

关于maven - 跳过已经发布到 Maven Central 的 Maven 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55212704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com