maven快照版本_网站首页快照不更新

maven快照版本_网站首页快照不更新Maven快照策略,什么是Maven快照。快照版本与Realse版本的区别。修改Maven快照拉取策略。Maven拉取策略

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


前言

Maven 是 Apache的一个开源项目,Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需做一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。在国内开发中使用的构建工具多为Maven,当然还有Gradle、Bazel 等构建工具。


一、SNAPSHOT版本与RELEASE版本

我们在开发软件阶段时会在POM文件中导入很多依赖公共库,这些公共库可能随时需要修改并发布,可能一天就要发布一次甚至一天要发布N次。
RELEASE: RELEASE一般是一个稳定可靠的版本,如果我们对此版本内容进行修改发布到远程仓库,如果我们本地已经存在此版本的依赖,那么即使远程服务器上的仓库发生变化,在本地与服务器上依赖版本相同的情况下,maven也不会再去内部服务器上拉取最新的依赖。也就是说无法实时获取此版本依赖的更新内容。一般的解决方法就是升级一个RELEASE版本,但正如上面所说,对于开发阶段我们一天可能需要修改多次类库,不可能每次都升级一个版本。
SNAPSHOT:快照(SNAPSHOT)版本就可以很好的解决上面RELEASE的问题,对于每次服务器上更新了相应的SNAPSHOT版本,本地都会去重新拉取一遍依赖,确保本地的版本内容与服务器上的一致。maven会根据模块的版本号(version)中是否带有-SNAPSHOT来判断是快照版本还是正式版本。

二、快照的更新策略

Maven的快照更新策略有四种,分别是:
always: 每次构建都会检查去远程仓库中检查该依赖jar包是否有更新。
daily :每天检查一次 (每天只最多拉取一次),这也是Maven的默认策略。
interval:指定时间间隔检查,类似定时任务,单位是分钟。
never :从不去远程仓库检查,该策略就和RELEASE版本一样。

如果没有在settings.xml中配置更新策略的话,那么默认的就是daily策略。因此很多人会发现第一次更新一个SNAPSHOT版本后,拥有这个jar包的项目在第一次刷新后可以获取这个jar包的最新内容,但是在第二次更新后,却无法再次获取最新ja包内容。这里的罪魁祸首就是Maven默认更新策略为一天一次。如果一天之内多次更新,那么Maven也只会第一次才去远程仓库拉取最新的依赖。

三、配置Maven快照更新策略

如果想每次构建都让Maven去拉取最新的依赖,可以在控制台使用mvn clean install -U 命令,这样会强制更新本地仓库。另一种方式就是修改Maven的settings.xml文件,在repository的snapshots下增加一个updatePolicy属性,配置默认更新策略。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185966.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号