maven(15),快照与发布,RELEASE与SNAPSHOT

Java -SNAPSHOT版本号解析 在Maven中,-SNAPSHOT 后缀是用于标识项目版本为快照(Snapshot)版本的约定。快照版本是处于开发和演进中的版本,通常用于开发人员在构建和测试过程中进行频繁的版本迭代;反之,如果不是Snapshot后缀的包,例如v1.2.21,这说明它是一个相对稳定的版本了,这个版本一经发布,则不能覆盖这个版本,这也是考虑到公共包被多个项目使用,你在一个版本上反复的修改,覆盖,部署,有可能对多个系统产生影响。-SNAPSHOT 后缀用于标识Maven项目的快照版本,它是开发和演进中的版本,包含实时更新的功能 阅读详情


发布RELEASE

用户A将代码打包发布到RELEASE仓库,具体操作参考上篇文章。用户B使用时,需要在pom.xml添加JAR包的依赖坐标。如果用户A将版本从1.0升级为2.0,用户B使用时也需要同时在pom.xml中修改坐标版本。但是RELEASE是稳定版本,是经过测试以后才会发布的,通常不会频繁的升级版本


快照SNAPSHOT

SNAPSHOT是不稳定版,可能是还在开发中的版本,在开发时用户A可能每天都会更新代码,可能会频繁的发布版本。而另一组用户B需要实时得到A的最新代码版本,以进行同步开发。如果使用RELEASE仓库需要不停的更换坐标,才能升级到最新版本。而SNAPSHOT仓库则不需要这样做,用户A和用户B都不用升级版本。用户A每次发布时会根据当时时间创建一个新的快照版本,之前的快照版本也会保留成为历史版本。用户B每次构建项目时会自动根据版本时间加载最新的JAR包,这种模式更加适合于多模块同步开发测试阶段


SNAPSHOT仓库用法

和RELEASE仓库类似,在pom.xml中设置快照仓库如下

	<distributionManagement>
		<snapshotRepository>
			<id>snapshot</id>
			<name>snapshot</name>
			<url>http://localhost:8081/repository/maven-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

同时设置version中的版本后面必须有 -SNAPSHOT,此后缀代表这是一个快照版

<version>1.0-SNAPSHOT</version> 

在setting.xml中设置用户名密码,id要和上面对应。和RELEASE一样

	<servers>
		<server>
			<id>snapshot</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
	</servers>

运行nexus私服(参考前两篇),在eclipse中右击maven项目--运行方式--maven build...  在goals中输入deploy,运行。

在nexus界面中点击最上排的方块图标--browse--components菜单--maven-snapshots仓库。如下,我没有改坐标,连续发布了几次,可以发现name列和group列是完全一样的,version列根据发布时间不同自动在1.0后面加上了当前时间,以此区别不同版本


用程序上传JAR包到Nexus3 前言 单独上传一个JAR包到Nexus3 上传非SNAPSHOT包 上传SNAPSHOT包 上传一个Maven项目的JAR包到Nexus3 mvn deploy:deploy-file mvn deploy 参考文档 前言 在Nexus3中,不再支持通过网页来上传JAR包和POM文件。 可以通过maven-deploy-plugin来上传JAR包到Nexus3上。 ... 阅读详情

相关推荐

手把手教你配置Maven+Nexus:搞定SNAPSHOT自动更新与RELEASE稳定发布

本文详细介绍了如何配置Maven+Nexus实现SNAPSHOT自动更新与RELEASE稳定发布的最佳实践。从Nexus 3.x的容器化部署到Maven客户端的深度配置,再到发布流水线设计,帮助开发者高效管理依赖和自动化发布流程,提升团队协作效率。

weixin_42620202的博客 296

maven快照版和稳定版的区别

maven存放依赖,依赖有两种:快照版、稳定版 快照版: 对应项目的version后缀是“-SNAPSHOT”; 当一个依赖是快照版本时,maven仓库会自动从镜像服务器上下载最新的快照版本; 适用项目经常变更 稳定版: 对应项目的version后缀是“RELEASE”。 当一个依赖是稳定版本时,在maven仓库含有该依赖的前提下,maven仓库不会自动从镜像服务器上下载最新的稳定版本; 适用项目只发布一次。 ...

RoseOfIce的博客 1974

Maven 动态版本与SNAPSHOT机制详解

据Sonatype 2023年发布的《软件供应链现状报告》显示,超过63%的Java项目在其依赖声明中至少存在一个动态版本范围,而其中28%的项目因此遭遇过构建不可复现的问题。与此同时,SNAPSHOT依赖的滥用导致近40%的生产环境事故可追溯至未经验证的临时构建版本。这些数据揭示了一个残酷的现实:开发者往往在追求开发效率的过程中,无意间为系统埋下了技术债务的种子。 本文将从Maven的版本解析机制切入,深入探讨动态版本(包括属性占位符和版本范围)的实现原理与适用边界

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 3563

maven快照版本和发布版本

   在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要...

weixin_34364135的博客 1468

NVIDIA Isaac平台体验:Isaac Sim与Isaac ROS的快速了解

NVIDIA Isaac平台是一个专为机器人和人工智能(AI)打造的加速平台,旨在为开发者提供一个全面的工具集,以加速机器人相关应用的开发和部署。材质定义语言(MDL)是一种用于描述材质属性和行为的编程语言,能够精确地定义材质的光学特性和物理属性。NVIDIA Isaac Sim 通过支持 MDL,进一步提升了仿真环境中材质的真实感和细节表现。精确的材质定义:MDL 允许开发者精确地定义材质的光学特性和物理属性,如反射率、折射率、粗糙度和透明度等。这使得仿真环境中的物体看起来更加真实和自然。动态材质。

全世界的博客 4万+

深入解析UVM寄存器模型:reg2bus与bus2reg的隐式调用机制

本文深入解析了UVM寄存器模型中reg2bus与bus2reg函数的隐式调用机制。通过追踪一次寄存器访问的完整旅程,揭示了这两个关键函数是如何在uvm_reg_map和uvm_reg_predictor中被框架自动调用的,从而在抽象的寄存器操作与具体总线事务之间完成转换,并实现镜像值的自动更新。掌握此机制是高效调试和灵活应用UVM寄存器模型的基础。

weixin_29211309的博客 441

Maven SNAPSHOT(快照)

我们知道,Maven 项目第一次构建时,会自动从远程仓库搜索依赖项,并将其下载到本地仓库中。当项目再进行构建时,会直接从本地仓库搜索依赖项并引用,而不会再次向远程仓库获取。这样的设计能够避免项目每次构建时都去远程仓库下载依赖,减轻了网络带宽的压力,但也带来了问题。大型的应用软件通常由多个功能模块组成,这些模块一般分别于不同的团队负责开发。

逍遥人世欢 1507

实战指南:UOS专业版命令行高效下载离线安装包及依赖

本文提供了一份UOS专业版离线安装包的实战下载指南。针对无外网环境下的软件部署难题,详细介绍了如何通过命令行精准获取软件包名,并利用`apt download`命令高效下载主程序及其所有依赖。文章重点解析了使用`apt install --dry-run`模拟安装来完整获取依赖包的方法,并给出了离线安装、问题排查及自动化脚本编写等高级技巧,帮助管理员和运维人员实现可靠的批量离线部署。

honey的博客 1111

maven deploy 快照与发布 -- RELEASE与SNAPSHOT

maven package、install、deploy的联系与区别:  mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。 mvn clean install依次执行了clean、resources、compile、testResources、testCompile...

justlpf的专栏 1万+

springcloud教程 -- 1.快速搭建入门级demo,看这一篇就够了

废话不多讲,跟紧我,开启你的SpringCloud初体验 首先回顾微服务的基本组成: [图片 here] 生产者:提供服务 消费者:消费服务 服务注册/发现中心:服务注册,发现,监控 所以,首先明白springcloud微服务的架构基础:生产者(client),消费者(client),服务注册/发现中心(server)

叶巨岩的博客 8万+

YOLO26 无损剪枝:稀疏训练 + 结构化通道裁剪

YOLO26 无损剪枝链路:YOLO26s (7.2M) → 稀疏训练 30 epoch (L1 on BN gamma, lam=0.01) → 阈值剪枝 50% (gamma<quantile(0.5)) → 结构化重建 Conv+BN → 微调 10 epoch (lr=1e-4) → YOLO26n (1.9M, mAP50 0.808, 仅降 0.6%)。核心贡献:稀疏训练让 BN gamma 趋向二元分布 (近 0 或近 1), 剪枝阈值可直接取 median 自动 50% 压缩。

m0_64661770的博客 264

maven2中snapshot快照库和release发布库的应用

在之前的文章中介绍了maven2中snapshot快照库和release发布库的区别和作用,我今天这里要介绍的是如何在项目中应用snapshot和release库,应用snapshot和release库达到不同环境下发布不同的版本的目的,首先看一个pom文件的定义: 1 <project> 2 <modelVersion>4.0.0</m...

dielucuan8830的博客 184

【图像去噪】基于偏微分方程(PDE)实现图像去噪附matlab代码

在工程应用中,图像信息通过数字图像系统进行处理、存储和传输等加工变换时,由于不可避免地受到噪声干扰,使得原始图像信息产生偏差和失真,给图像的后续处理带来不便,进而影响人们对图像视觉特性的认知程度。因此,为了改善图像的质量效果,提高人们对图像视觉特性的认知度,对图像噪声进行有效去除,降低噪声对图像信息的干扰是很有必要的。近年来,基于偏微分方程( partial differential equation,PDE) ​的图像去噪方法在计算机视觉和图像处理等技术领域得到了广泛的重视,因为它在平滑噪声的同时,能够很

qq_59747472的博客 855

mirai 快照(Snapshot)开发测试版本使用指南:版本号获取、Maven/Gradle 配置与 CI 发布原理

mirai 在每次 commit 构建成功后,都会自动向独立快照仓库发布一个开发测试版本,用于验证特定提交对某个问题的修复效果。本文基于 [docs/UsingSnapshots.md](https://link.gitcode.com/i/dd6b4eff5d5b098b8e0a7478772a1a03) 完整讲解快照版本的版本号构成与获取方法,并给出 Maven、Gradle 及 Mirai

gitblog_00364的博客 866

国产化替代落地:C#+Avalonia跨平台开发(麒麟系统适配全流程)

摘要: 随着国产化替代政策的推进,麒麟操作系统成为国产替代的重要选择。本文介绍了如何使用C#和Avalonia框架开发跨平台应用,适配麒麟系统。Avalonia支持Windows、Linux(包括麒麟)和macOS,通过XAML设计UI,便于开发者快速上手。文章详细讲解了开发环境配置、XAML控件设计、Linux特性适配及性能优化,并强调政府30%研发补贴带来的政策红利。未来,随着国产系统生态完善,C#+Avalonia将成为企业跨平台开发的高效解决方案。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3475

LE AUDIO---Volume Control Service

LE AUDIO---Volume Control Service

weixin_42162924的博客 165

Java中Beta、Alpha、RC、RELEASE、GA、SNAPSHOT等版本分别代表什么意思?

这两天 Apache Log4j2 的漏洞被闹的沸沸扬扬,一方面是大家热衷于炒作,另一方面是好久没有热闹的消息了,沉寂了太久,需要爆发一波!回归理性来看,Apache 这波漏洞修复,来来回回发了好几个版本,今天早上起来,我发现又发了一个版本。候选版本这是又出什么幺蛾子了吗?我们几百上千个服务,才升级了版本。这又是闹哪一出,不会是要变成下一个 fastjson 了吧。上面是一个题外话,我们回归今天的主题。等等,每个版本的后缀分别代表什么意思呢?不知道有多少人知道,或了解过?

lisheng19870305的专栏 5306

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Maven 动态版本与SNAPSHOT机制详解_maven snapshot

移动端可微信小程序搜索“”)总架构师,15年工作经验,精通Java编程高并发设计,熟悉LinuxESXI虚拟化以及,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。请加本人wx(注明来自csdn。

jennycisp的博客 1721

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

maven系列:deploy项目发布和上传repository仓库

在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。 我们知道,maven的依赖管理是基于版本管理的,对于发布状态(release)的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。 如果我们在开发阶段都是基于release版本来做依赖管理...

lisheng19870305的专栏 2707

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【内含安装包】Animancer Pro v7.4.2 完整指南:3 分钟给 Unity 项目装上一套高效动画插件

先说结论:如果你正在 Unity 里做项目,想快速让角色动画跑起来还显得体面,找到 Animancer Pro 基本就可以停止搜索了。它是构建在 AnimationPlayable(Unity 官方用"可播放"图来驱动动画的播放机制)之上的 Unity 动画插件,当前版本 v7.4.2,从原型演示到长期维护正式项目的动画系统都能覆盖。导入之后直接就能播放动画、调过渡、管状态,不用先背一套复杂的配置

gitblog_00164的博客 840

pom配置之:snapshot快照库和release发布库

转 pom配置之:snapshot快照库和release发布库 2016年11月25日 11:23:45 aitangyong 阅读数:39160 &lt;span class="tags-box artic-tag-box"&gt; &...

qq_38422016的博客 696

版本号中的Release和Snapshot

仓库一般分为public(Release)仓和Snapshot仓 Release仓 存放正式版本 Snapshot仓 存放快照版本 区别 本地获取这些依赖的机制有所不同 Release: 本地如果有就从本地获取,如果没有再从远程获取(版本号如果相同,代码更新,那么不会本地不会更新) Snapshot: 先从远程获取(如果版本号相同,代码更新,那么就派上用场了) 为什么要分两种 假设有两个小组负责维护两个组件A和B,B依赖的构件依赖于A,这两个项目每天都要构建很多次,A和B又经常更新,如果每次更新都需要新发布

qq_36976201的博客 717
上一篇: maven(14)-nexus仓库基本用法
下一篇: maven(16)-灵活的环境构建
free_java
博客等级 码龄10年 664粉丝 131原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值