UNIX系统下删除老旧Maven依赖包的方法

Posted 卡尔曼和玻尔兹曼谁曼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX系统下删除老旧Maven依赖包的方法相关的知识,希望对你有一定的参考价值。

文章目录


版权声明:本文为博主原创文章,转载请注明原文出处!

写作时间:2020年4月8日晚


UNIX系统下删除老旧Maven依赖包的方法

笔记本是macOS,磁盘只有256,Maven下载的依赖包,特别是老旧的JAR很占空间,如何使用一行命令删除这些依赖包呢?

基本思想是使用find命令找出来给定时间段没有使用过的JAR包(通过POM文件的时间戳判断),然后使用rm命令进行删除。

下面的命令通过遍历~/.m2文件夹下修改时间大于5天的以.pom为扩展名的文件,然后删除该POM文件所在的父文件夹。

find ~/.m2 -ctime +5d -iname '*.pom' | while read pom; do parent=`dirname "$pom"`; rm -rf "$parent"

下面稍微看一下find命令,我们可以通过-atime-ctime分别给出查找文件的最后访问时间获最后修改时间到当前的时间间隔(时间单位可以是s,m,h,d,w,分别代表秒,分钟,小时,天和周)。此外,我们可以直接通过-amin-cmin分别指定以分钟为单位的时常。具体命令的使用可以使用man find进行查看。

最后要说的是,在进行正式删除之前建议通过Dry Run查看一下那些文件要删除,不要删错了以后后悔莫及!
所以在正式删除之前,先试试下面的命令吧!

find ~/.m2 -ctime +5d -iname '*.pom' | while read pom; do parent=`dirname "$pom"`; echo "$parent"; done > output.txt

Windows下的删除没有试过,不过应该可以使用对应的BAT批处理相关命令进行操作。如果对于Windows 10,我们可以采用Linux子系统(WSL)进行操作。

以上是关于UNIX系统下删除老旧Maven依赖包的方法的主要内容,如果未能解决你的问题,请参考以下文章

jar包的多层级maven依赖的坑与正确传递方法

maven导入外部jar包的方法

如何在IntelliJ IDEA中检索maven依赖jar包的源码

Maven查看JAR包的依赖关系

IntelliJ IDEA使用心得之非Maven项目篇

maven依赖oraclejar包下载不下来的解决办法