日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven 关于使用 snapshot 的坑

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven 关于使用 snapshot 的坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是烤鴨:

? ? 今天分享一下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 永不(當穩定版使用)

<!--指定遠程倉庫地址 --><repositories><repository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository><repository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url><snapshots><enabled>true</enabled><updatePolicy>never</updatePolicy></snapshots></repository></repositories>

簡單來說,當你項目里配置了快照版,如果更新的內容恰好不兼容之前的代碼(方法刪了或者換參數了),就會導致項目的災難問題。以上面的為例,可能11:30 之前項目是沒問題的,這時候快照倉庫發了一個版本,重新打包之后,項目就起不來了。

?

3.? 實際項目遇到的情況

運行正常的項目,代碼沒改動什么,突然報錯類找不到。

跟對方溝通,才發現我們引入的是快照版,這個可太危險了...

4.? 總結

其實我們這個還好,之前遇到過引用 springboot 快照版的時候,測試都正常,上線的時候一直啟動失敗。。。

最后發現是發布了新的快照版,而且對之前的方法有改動,快照可以在聯調的時候使用,生產千萬別用。?

總結

以上是生活随笔為你收集整理的maven 关于使用 snapshot 的坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。