当前位置: 首页 > news >正文

maven:迁移到 Maven Central 后 pom.xml的配置步骤

迁移到 Maven Central 后 pom.xml的配置步骤

账户迁移

如果你近期登录maven中央仓库的后台 Nexus 存储库管理器,你会收到如下通知:

OSSRH 服务将于 2025 年 6 月 30 日终止使用。在此处了解有关如何转移到中央发布门户的更多信息。

在这里插入图片描述

6月30日很快就临近了,所以如果你有在maven中央仓库发布版本的需要,就要网站提供的链接中的说明完成账户迁移

迁移说明:

What is different between Central Portal and Legacy OSSRH? - Documentation

迁移过程并不复杂,按照上面的说明做就好了,这不是本文的重点,本文要说明的是,完成迁移后,java项目的pom.xml配置也要做相应的修改,才能使用新的maven中央仓库后台发布版本。

生成token

迁移后,要按下面的说明去生成一个用户token,并更新到$HOME/.m2/settings.xml

Generating a Portal Token for Publishing - Documentation

pom.xml配置

1. 移除旧的发布配置

  • 删除原有的 <distributionManagement> 区块:

    <!-- 删除以下整个配置块 -->
    <distributionManagement><snapshotRepository><id>sonatype-nexus-snapshots</id><name>Sonatype Nexus Snapshots</name><url>https://oss.sonatype.org/content/repositories/snapshots/</url></snapshotRepository><repository><id>sonatype-nexus-staging</id><name>Nexus Release Repository</name><url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url></repository>
    </distributionManagement>
    

2. 添加新的中央仓库发布插件

<profiles> 的构建插件部分添加 central-publishing-maven-plugin

<plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.7.0</version> <!-- 建议检查最新版本 --><extensions>true</extensions><configuration><publishingServerId>maven-central-release</publishingServerId><autoPublish>false</autoPublish> <!-- 手动发布 --><waitUntil>uploaded</waitUntil> <!-- 等待上传完成 --></configuration>
</plugin>

3. 关键配置说明

  • publishingServerId
    必须与 Maven settings.xml 中的 <server> ID 匹配(包含 Sonatype 账户凭据)
  • autoPublish
    • false (推荐):手动验证后再发布,避免自动发布到生产环境
    • true:构建完成后自动发布(仅限测试环境)
  • waitUntil
    • uploaded:等待文件上传到暂存库后即完成构建
    • published:等待文件发布到中央仓库后才完成构建(已弃用)

central-publishing-maven-plugin插件的完整配置参数说明参见官方说明
《Publishing By Using the Maven Plugin》

4. 发布工作流程

mvn clean deploy        # 将构件上传到暂存库
# 后续手动操作:
# 1. 登录 [Sonatype Central 控制台](https://central.sonatype.com/)
# 2. 验证暂存库中的构件
# 3. 关闭(Close)暂存库
# 4. 发布(Release)到 Maven Central
验证步骤
  1. 确保 ~/.m2/settings.xml 包含:

    <servers><server><!-- 注意这个ID要与上面central-publishing-maven-plugin插件中定义的publishingServerId保持一致 --><id>maven-central-release</id><username>您的Sonatype账号</username><password>您的令牌密码</password></server>
    </servers>
    
  2. 测试部署:mvn clean deploy -DskipTests

  3. 在 Central 控制台 检查暂存库

注意:插件要求 Maven 3.6.3+,建议定期检查插件最新版本以获取安全更新

完整的pom.xml示例可以参见我在码云上的项目:
https://gitee.com/l0km/sql2java/blob/master/pom.xml

http://www.lryc.cn/news/574555.html

相关文章:

  • pdf转图片(png,jpg)的python脚本
  • 发布 npm 包完整指南(含账号注册、发布撤销与注意事项)
  • 【云计算】云测试
  • 成交量流动策略
  • Unity3D仿星露谷物语开发70之背景音乐
  • 软件测试报告机构如何保障软件质量与安全性?作用有哪些?
  • 使用 PyFluent 自动化 CFD
  • 用 Python 打造立体数据世界:3D 堆叠条形图绘制全解析
  • 【Pandas】pandas DataFrame update
  • 华为云Flexus+DeepSeek征文 | 华为云MaaS平台上的智能客服Agent开发:多渠道融合应用案例
  • 《C++初阶之类和对象》【初始化列表 + 自定义类型转换 + static成员】
  • 在 centos7部署kubephere
  • TortoiseSVN 安装教程
  • prometheus+grafana+MySQL监控
  • 云原生周刊:Argo CD v3.1 正式发布
  • 工程优化——WebSocket、WSS(WebSocket Secure)和SSE(Server-Sent Events)通信对比
  • Jenkins+Jmeter+Ant接口持续集成
  • 【人工智能agent】--dify实现文档内容的自动抽取
  • 论文阅读:2025 arxiv Qwen3 Technical Report
  • 【论文阅读 | CVPRW 2023 |CSSA :基于通道切换和空间注意力的多模态目标检测】
  • 【AI时代速通QT】第三节:Linux环境中安装QT并做测试调试
  • Starrocks 低基数全局字典优化
  • 【Vue】 keep-alive缓存组件实战指南
  • Dify携手代理商奇墨科技:加快企业AI应用构建
  • FTP原理、安装部署与案例应用全面指南
  • Unity3D下的RTSP/RTMP超低延迟直播播放器实践:跨平台、高性能与VR全景支持的完整解析
  • 创建首个 Spring Boot 登录项目
  • DD3118S:USB3.0+Type-c双头TF/SD二合一高速0TG多功能手机读卡器ic
  • 76、单元测试-参数化测试
  • 做上门私厨/上门做饭App小程序,到底是定制开发,还是选成品系统?