清除本地MAVEN库下面的snapshot旧版本

最近参与了一个新项目的开发,在项目的POM文件中引入了另外一个项目组开发的模块。由于他们还在开发过程中,因此为了及时得到他们最新的成功,在POM中引用了他们的snapshot版本,这样的话,一旦他们发布新版本。我这边很快就能够更新,拿到最新的jar文件。

就这样过了一段时间。今天,我到MAVEN本地库目录下面去查找一些文件,偶然间进到了这个snapshot的文件夹,这不进来还好,一进来,我晕,里面居然有十几个snapshot的历史版本。一家人整整齐齐的坐在那里。就像下面这个样子:

base-0.0.1-20190924.065706-10.jar 
base-0.0.1-20190925.002128-11.jar
base-0.0.1-20190928.005462-14.jar 
base-0.0.1-20190930.007895-21.jar 
base-0.0.1-20191011.002198-26.jar  
base-0.0.1-20191013.001145-37.jar 
base-0.0.1-20191017.003587-41.jar 
base-0.0.1-20191025.001435-55.jar 
base-0.0.1-20191107.012927-66.jar 
base-0.0.1-20191108.002149-68.jar
base-0.0.1-SNAPSHOT.jar

也不知道是怎么回事,MAVEN居然在本地库保留了这么多历史版本,我的磁盘空间可是有限的,这么下去怎么搞?而且看着也心烦啊。于是便想着怎么清除他们。当然,可以用手工命令一行行删。但是觉得这种方法似乎有些LOW.

我想。MAVEN自己一定有什么样的机制来管理这些snapshot的(顺便提一句,我们的nexus库上有snapshot的定期清理机制,很多snapshot在服务器已经找不到了,但还在本地保留)。

于是翻了翻资料,查了查MAVEN的官网。果然,MAVEN提供了一个插件,叫做purging-local-repository 详细资料如下:

https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html

这个插件可以提供本地库的清理工作。

于是尝试着用手工命令

mvn dependency:purge-local-repository -Dinclude=com.wizsource

来清理。 之所以加上了include 是因为我发现,如果不加include他会把pom里面所有的依赖都清理一次,会导致重新下载很多已经稳定的jar 比较浪费时间和资源。所以指定了groupid来只清理需要清理的snapshot

结果非常理想。清理之后,本地库只剩下了最后一个snapshot以及一个正式的jar。

如果大家有类似需求也可以考虑使用一下
 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值