Maven 中 jar 包的 Snapshot 和 Release 版本区别

本文解析了snapshot与release版本的概念及其应用场景,阐述了两者在jar包依赖管理中的区别,包括版本更新策略、部署设置及如何在Maven项目中正确使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念
这两个概念是用于描述 jar 包,jar 包 提供给其他系统作为依赖
snapshot 版本代表不稳定、尚处于开发中的版本,即快照版本
release 版本代表功能趋于稳定、当前更新停止,可以用于发行的版本
使用场景
依赖库中的 jar 包若处于不断更新,更准确的说是不停 deploy 时,deploy会发布到私服,则使用snapshot
格式:1.0-snapshot
特点
不停更新/deploy 时,版本号1.0不需更改,私服中会自动追加后缀时间为版本名
其他系统使用时,会自动load时间最近也即最新的版本
当第三方 jar 包功能确定时,可以提供一个release版本
格式:1.0,去掉-snapshot即可
特点
其他系统使用时,版本号不变,依赖包则不变,不会自动load最新版本
上述有两个意思
假设第三方对 1.0 version 更新了,但本地有旧的 1.0 version,其他系统不会更新引入私服中最新的1.0,与snapshot的区别
第三方 升级了2.0,其他系统必须手动更新依赖的version为 2.0,否则不能引入最新版本,这也是相对snapshot比较麻烦的地方
依赖包 deploy 设置
step 1

releases //发布时,设置的存放 release 版本 jar 包的仓库地址 User Project Release http://127.0.0.1:8081/nexus/content/repositories/releases/ snapshots User Project SNAPSHOTS //发布时,设置的存放 snapshot 版本 jar 包的仓库地址 http://127.0.0.1:8081/nexus/content/repositories/snapshots/ step 2

cc.mzone
m1
//如果想发布到snapshot仓库中,则需要在版本号后加上-SNAPSHOT(注意这里必须是大写)
0.1-SNAPSHOT
jar
jar包发布到本地缓存仓库
mvn clean install -DskipTests
deploy 命令
mvn clean deploy -DskipTests
mvn clean deploy -X -Dmaven.test.skip=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值