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

服务SDK三方新版中央仓库和私服发布详解

  • 预备信息
  • Github仓库发布
  • Gradle版本匹配
  • Gradle项目构建全局变量定义
  • Gradle项目Nexus仓库配置与发布过程
  • Gradle项目发布至Sonatype中央仓库配置过程
  • 总结

当我们在实现一个项目技术总结、工具类封装或SDK封装,通常是为了方便开发者使用特定服务或平台而提供的一组工具和API。您可能需要将其发布到一个三方仓库或私服中,以便其他开发者能够方便地获取和集成。那么我们怎么才能将这些产物发布到私服或各个公共平台上呢,下面用不同方式针对jar、maven产物发布与上传;
在这里插入图片描述

预备信息

  • 老版本sonatype maven地址:https://oss.sonatype.org/
  • 新版sonatype maven地址:https://s01.oss.sonatype.org/
  • Sonatype控制台发布列表:https://central.sonatype.com/publishing/deployments

Github仓库发布

Ps. 首先你得需要创建一个Github账号

  1. 创建一个仓库(Github Repository)
    在这里插入图片描述
  2. 填写仓库的基本信息
    在这里插入图片描述
  3. 创建或添加一个仓库访问密钥(SSH Key)
    在这里插入图片描述
  4. 最后由git上传仓库代码即可
    #初始化仓库
    git init
    #添加仓库地址
    git remote add origin <远程git地址>
    #添加本地文件
    git add .
    #提交本地仓库
    git commit -m 'xxxx'
    #推送代码至远程仓库
    git push origin main
    

Gradle版本匹配

如果项目同时要发布到私有仓库Nexus和中央仓库Sonatype,在构建时需要加入不同的插件(id "maven-publish"和id “com.vanniktech.maven.publish” version “0.30.0”)而同时支持这两个插件需要gradle版本必须8.5及以上;只要修改项目gradle-wrapper.properties中的版本,然后同步即可;
在这里插入图片描述

Gradle项目构建全局变量定义

这里全局变量私有仓库Nexus和中央仓库Sonatype的参数,每个参数描述在下方标有详细解释,待后面留用;【以下定义的参数变量在后续配置中不作详细说明】

#文件以utf-8格式编码
org.gradle.java.encoding=UTF-8
#私服仓库发布地址
RELEASE_URL=https://mvn.geease.com/repository/basejars/
#私服仓库快照发布地址
SNAPSHOT_URL=https://mvn.geease.com/repository/basejars/
#开源项目的主页地址
PROJECT_URL=https://github.com/eyinfo/clepton
#开源项目签名信息名称
SOURCE_LICENSE_NAME=LGPL-3.0-License
#开源项目签名信息主站
SOURCE_LICENSE_URL=https://www.gnu.org/licenses/lgpl-3.0.html
#开源项目签名信息分发主站
SOURCE_LICENSE_DISTRIBUTION=https://www.gnu.org/licenses/lgpl-3.0.html
#开源项目git相对地址,用于sonatype平台发布scm仓库地址设置
GIT_RELATIVE_URL=eyinfo/clepton.git
#用于发布sonatype后显示开发者名称
DEVELOP_NAME=LiJingHuan
#用于发布sonatype后显示开发者email
DEVELOP_EMAIL=ethan0866@163.com
#发布版本号
VERSION=1.0.2
#发布组织名称,需要与sonatype平台命名空间一致
GROUP_ID=io.github.eyinfo
#发布项目唯一标识
ARTIFACT_ID=foundation
#发布项目后的描述信息

http://www.kler.cn/a/530854.html

相关文章:

  • 【Unity3D】Tilemap俯视角像素游戏案例
  • vue入门到实战 三
  • 在GPIO控制器中,配置通用输入,读取IO口电平时,上拉和下拉起到什么作用
  • 贪吃蛇实现
  • 在Arm芯片苹果Mac系统上通过homebrew安装多版本mysql并解决各种报错,感谢deepseek帮助解决部分问题
  • MySQL不适合创建索引的11种情况
  • Java 网络原理 ③-NAT || DHCP
  • 在K8S中,如何把某个worker节点设置为不可调度?
  • C语言可变参数
  • leetcode解题思路分析(一百六十三)1409 - 1415 题
  • 【1】快手面试题整理
  • C基础寒假练习(2)
  • AI模型升级版0.04
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.10 ndarray内存模型:从指针到缓存优化
  • DeepSeek横空出世,AI格局或将改写?
  • 《苍穹外卖》项目学习记录-Day11用户统计
  • selenium记录Spiderbuf例题C01
  • Rust中使用ORM框架diesel报错问题
  • ip属地是实时刷新吗还是网络刷新
  • AI模型升级版0.03
  • Vue.js组件开发-实现字母向上浮动
  • 基于STM32的网络摄像头
  • 我们信仰AI?从神明到人工智能——信任的进化
  • 【PyQt】学习PyQt进行GUI开发从基础到进阶逐步掌握详细路线图和关键知识点
  • 【实践案例】基于大语言模型的海龟汤游戏
  • 【Excel笔记_4】平均绝对偏差(MAD,Mean Absolute Deviation)的EXCEL公式表达