跳过已发布到Maven Central的Maven模块

问题描述 投票:3回答:1

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

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

事实证明,com.example:bar:2.0.0变化频繁,所以我想释放com.example:bar:2.1.0。但是我将从该存储库中的聚合父POM构建,com.example:foo:1.0.0。我必须增加父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)留下一些明确的答案对于其他可能有相同问题的人。谢谢。

maven pom.xml parent-pom
1个回答
0
投票

AFAIK,nexus-staging-maven-plugin没有用户属性来分离或忽略某些工件。

您可以编写自己的插件来获取Maven项目并从中消除某些工件。

© www.soinside.com 2019 - 2024. All rights reserved.