WeWorkBuddy

[分享创造] 90 多个模块发版反复超时,于是我写了个 Maven Central 发布插件

最近给框架发版时总卡在 Maven Central 发布那一步:一次要推送 90 多个工件、加起来超过 300MB ,之前一直用的插件走 OSSRH 路径,在这个体积下反复超时,要么手动补发、要么整段重来,非常折腾。 按照 Maven Central 官方的 Publisher API 文档 ,我用 Java 实现了一个 Gradle 发布插件,把正式版收敛成 staging → bundle → 上传 Portal → 轮询部署状态一条命令;又补上了 SNAPSHOT 直接发布,根项目版本号带 -SNAPSHOT 后缀就自动切快照仓库,不用再在两个工具间来回切。 两个自认为对多模块项目有用的取舍: 根项目聚合发布 :一次扫描所有子项目,把它们的 publication 合并进同一次部署,避免同一版本拆成多个部署互相打架; 凭据不在配置阶段求值 :默认按 mavenCentral 身份在任务执行时解析,配置缓存只保存身份; --dry-run 不需要凭据。 如果你也有多模块发布的需求,欢迎试用,有问题可以提 Issue 。 当前版本是 v1.0.1 ,插件不依赖我的框架。源码包、Jav

阅读原始来源
原始网页截图: [分享创造] 90 多个模块发版反复超时,于是我写了个 Maven Central 发布插件
原始网页截图 · www.v2ex.com

来源记录

研究分析

变化记录

来源描述:最近给框架发版时总卡在 Maven Central 发布那一步:一次要推送 90 多个工件、加起来超过 300MB ,之前一直用的插件走 OSSRH 路径,在这个体积下反复超时,要么手动补发、要么整段重来,非常折腾。 按照 Maven Central 官方的 Publisher API 文档 ,我用 Java 实现了一个 Gradle 发布插件,把正式版收敛成 staging → bundle → 上传 Portal → 轮询部署状态一条命令;又补上了 SNAPSHOT 直接发布,根项目版本号带 -SNAPSHOT 后缀就自动切快照仓库,不用再在两个工具间来回切。 两个自认为对多模块项目有用的取舍: 根项目聚合发布 :一次扫描所有子项目,把它们的 publication 合并进同一次部署,避免同一版本拆成多个部署互相打架; 凭据不在配置阶段求值 :默认按 mavenCentral 身份在任务执行时解析,配置缓存只保存身份; --dry-run 不需要凭据。 如果你也有多模块发布的需求,欢迎试用,有问题可以提 Issue 。 当前版本是 v1.0.1 ,插件不依赖我的框架。源码包、Jav

版本与成本证据

可供比较的近期同类记录:“Show HN: Models[.]Dev Index on a Globe” (Show HN, 2026年11月7日);“Show HN: NLP capabilities of Opus, Astra, Argon measured by Codenames skills” (Show HN, 2026年11月7日)。主题相近仅用于导航,未核验其是否属于同一需求或独立证据。

适用与受影响对象

先明确变化影响的现有工作流,再判断是否升级。发布热度不证明效果提升;接口、价格或可用性变化也可能增加迁移工作。

缺失的比较信息

待补齐:新旧行为、受影响套餐与地区、生效时间、兼容性、回退路径及同一工作量下的成本。

采用与迁移验证

保存发布或政策原文,对新旧方案运行同一个任务并比较结果与完整账单;若涉及停服,先核验截止时间再安排迁移。