网站制作com,做电商的常去网站,我要自学网首页网站建设,中网自助建站大家好#xff0c;我是烤鸭#xff1a; 今天分享一下maven项目引入快照版依赖的问题。 1. snapshot 和 realease
顾名思义 就是 快照和稳定版。快照是不稳定的开发版本#xff0c;不定时更新。稳定版不会有这个问题。
不定时更新有什么危害。
maven install…大家好我是烤鸭 今天分享一下maven项目引入快照版依赖的问题。 1. snapshot 和 realease
顾名思义 就是 快照和稳定版。快照是不稳定的开发版本不定时更新。稳定版不会有这个问题。
不定时更新有什么危害。
maven install 或者package 的时候如果 pom中依赖的版本是快照版会从私服或者中央仓库同步一下快照版本的jar包。如果这个时候jar包作者 恰好 deploy了未经测试或者改动了代码未兼容之前的代码就会影响到当前项目。
maven 稳定包仓库
https://mvnrepository.com/
快照包仓库
https://repo.spring.io/snapshot/ 2. 举个栗子
我们以 spring-boot-parent 这个包为例下面是这个版本 2.2.4.BUILD-SNAPSHOT 快照包地址
https://repo.spring.io/snapshot/org/springframework/boot/spring-boot-parent/2.2.4.BUILD-SNAPSHOT/
我们看下这三个包的发布时间是 2020.1.20 . 11点12点和16点分别发布了。 pom文件的配置。
这里强调一下 updatePolicy 属性。
(默认) always 每次打包都会看远程是否有新包
daily 当天拉过就不会再拉了
interval 指定时间间隔
never 永不当稳定版使用
!--指定远程仓库地址 --repositoriesrepositoryidspring-snapshots/idurlhttps://repo.spring.io/snapshot/urlsnapshotsenabledtrue/enabledupdatePolicyalways/updatePolicy/snapshots/repositoryrepositoryidspring-milestones/idurlhttps://repo.spring.io/milestone/urlsnapshotsenabledtrue/enabledupdatePolicynever/updatePolicy/snapshots/repository/repositories
简单来说当你项目里配置了快照版如果更新的内容恰好不兼容之前的代码(方法删了或者换参数了)就会导致项目的灾难问题。以上面的为例可能11:30 之前项目是没问题的这时候快照仓库发了一个版本重新打包之后项目就起不来了。 3. 实际项目遇到的情况
运行正常的项目代码没改动什么突然报错类找不到。 跟对方沟通才发现我们引入的是快照版这个可太危险了... 4. 总结
其实我们这个还好之前遇到过引用 springboot 快照版的时候测试都正常上线的时候一直启动失败。。。
最后发现是发布了新的快照版而且对之前的方法有改动快照可以在联调的时候使用生产千万别用。