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

maven快照版本_网站首页快照不更新文章目录 前言 一 SNAPSHOT 版本与 RELEASE 版本 二 快照的更新策略 三 配置 Maven 快照更新策略 前言 Maven 是 Apache 的一个开源项目 Maven 的本质是一个项目管理工具 将项目开发和管理过程抽象成一个项目对象模型 POM 开发人员只需做一些简单的配置 就可以批量完成项目的构建 报告和文档的生成工作 在国内开发中使用的构建工具多为 Maven

文章目录

前言

一、SNAPSHOT版本与RELEASE版本

二、快照的更新策略

三、配置Maven快照更新策略

----

前言

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属性,配置默认更新策略。

编程小号
上一篇 2025-03-04 08:30
下一篇 2025-02-27 19:40

相关推荐

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