清理本地maven仓库中的垃圾包

在有些情况下mavan会下载一些无用的文件产生一些垃圾,使用idea的时候自动加载依赖最容易产生这种情况感觉用着不舒服就可以清理下,建议用代码清理,不要直接删除文件夹,代价太大。

代码

在idea中新建测试类,将下面代码复制,将地址改为自己本地maven仓库的地址,然后执行main方法就可以删除本地maven仓库中的垃圾包!
代码如下:

package com.dream.test;import java.io.File;
import java.time.Duration;
import java.time.Instant;public class MavenClean {//本地maven仓库的地址private static final String PATH = "D:\\maven_localrepository";private static long total;private static long time;public static void main(String[] args) {File dir = new File(PATH);if (!dir.isDirectory()) {System.out.println("请输入Maven仓库所在路径");System.exit(0);} else {Instant startNow = Instant.now();MavenClean.delFile(dir);Instant endNow = Instant.now();time = Duration.between(startNow, endNow).toMillis();}System.out.printf("删除数量:%d 耗时:%d 毫秒", total, time);}public static void delFile(File file) {File[] list = file.listFiles();for (File f : list) {if (f.isDirectory()) {delFile(f);if (f.getName().equals("unknown")) {delAll(f);total++;System.out.println("删除:" + f.getAbsolutePath());} else if (f.getName().startsWith("${") && f.getName().endsWith("}")) {// 如果 文件夹名称是以 ${ 开头 } 结尾,那么将这个文件夹及其下面所有文件全部删除delAll(f);f.delete();total++;System.out.println("删除:" + f.getAbsolutePath());} else if (f.listFiles().length == 0) {// 删除空文件夹f.delete();total++;System.out.println("删除:" + f.getAbsolutePath());}} else {if (f.getName().endsWith(".lastUpdated")) {f.delete();total++;System.out.println("删除:" + f.getAbsolutePath());}}}}/*** 删除文件夹下的所有文件夹、文件及其子文件夹、文件** @param file file*/public static void delAll(File file) {File[] list = file.listFiles();for (File f : list) {if (f.isFile()) {// 是文件就删除f.delete();total++;System.out.println("删除:" + f.getAbsolutePath());} else {// 先将文件夹下的文件夹和文件全部删除再删除源文件夹delAll(f);f.delete();total++;System.out.println("删除:" + f.getAbsolutePath());}}}
}

D:\maven_localrepository :这是我本地的maven仓库地址,将其改为自己的maven仓库即可。

清理本地maven仓库相关推荐

  1. 合并本地Maven仓库

    今天遇到一个问题,就是将一个Maven项目导入到自己的开发环境Myecplise.之前的步骤都很顺利,没有问题,但是到了最后发现pom.xml文件的第一行有一个大红叉,点击错误看,是缺少jar包,但是 ...

  2. 手动添加JAR包到本地Maven仓库

    前言 仅适用于添加JAR包到本地Maven仓库. 本地仓库:工作设备上的maven仓库. 前置条件:jdk和maven均已安装完成.java -version和mvn -version命令均能够正确执 ...

  3. 如何将本地jar包放入本地maven仓库和远程私服仓库

    1.将本地jar包放入本地仓库.只需执行如下命令即可: mvn install:install-file -Dfile=D:/demo/fiber.jar -DgroupId=com.sure -Da ...

  4. Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 把要用的jar放在固定位置: 2.打开CMD,进入到libs文件夹: 3.运行如下命令: mv ...

  5. Maven 手动安装JAR包到本地maven仓库后,但在项目中依旧报错找不到JAR包解决方法

    Maven 手动安装JAR包到本地maven仓库后,但在项目中依旧报错找不到JAR包解决方法 参考文章: (1)Maven 手动安装JAR包到本地maven仓库后,但在项目中依旧报错找不到JAR包解决 ...

  6. Maven-将jar包发布到本地maven仓库与私服

    创建一个项目,并创建 library ,不会参考下面: https://blog.csdn.net/wuqingsen1/article/details/103178567 如果 maven 还没有安 ...

  7. maven快速入门番外篇——Eclipse下载GitHub上FastDFS-Client客户端源码并转化成maven工程以及打包到本地maven仓库

    由于fastdfs-client的jar包目前在中央仓库是没有坐标的,而在项目中要想实现文件的上传和下载就得使用到它,这不禁就让我们头疼,所以为了解决这个问题,我写下了这篇文章,希望对读者能有所帮助. ...

  8. eclipse手动pom本地包_eclipse手动添加本地jar包到本地maven仓库

    在使用maven进行构建项目时,有时候中央仓库不包含所需的jar包,就需要下载到本地后手动添加到本地仓库中.这里介绍下利用eclipse进行本地jar安装到maven本地仓库. 在Eclipse项目中 ...

  9. 将jar包发布到本地maven仓库

    项目中在对接第三方服务时经常需要引用第三方的jar包依赖,比如腾讯的短信服务https://cloud.tencent.com/document/product/382/13613 这种场景还是非常多 ...

最新文章

  1. memset、memcpy、strcpy、HeapAlloc
  2. 【BZOJ】1031: [JSOI2007]字符加密Cipher(后缀数组)
  3. 数据可视化组队学习:《Task06 - 场景案例显神通》笔记
  4. 此windows副本不是正版解决方法
  5. 【MVC】ASP.NET MVC5 使用MiniProfiler 监控MVC性能
  6. MySQL数据库创建用户_修改用户_删除用户_设置用户
  7. 通用的MIME类型:application/octet-stream
  8. 事务未提交导致记录被锁的解决方法
  9. Cannot modify header information的解决方法
  10. Windows操作系统的缘由
  11. 案例实践:零基础完成Loadrunner压力测试,十分钟教会你
  12. windows7系统:基本安装,U盘启动盘制作与安装,网络安装
  13. NETGEAR R7000 更新固件失败 使用TTL-USB修复教程
  14. PCB线路板上的电子元件你认识多少?
  15. AlertManager警报通知 E-mail 微信 模板
  16. 解决linux有时候不能粘贴
  17. react native ScrollView实现滑动锚定,滑动到指定位置
  18. java dya01 HelloWorld与环境变量
  19. android+平板+输入法,安卓平板电脑如何切换输入法?
  20. 分析当今(2016年12月13日)社交三巨头:微信、whatsapp、line

热门文章

  1. 选题二——智力抢答器的课程设计
  2. 软件开发自由职业者,疫情时代~不老常青藤
  3. 谈一谈js的内存分配
  4. 训练日记2019.11.10 莫队算法(板子题)
  5. 科技赋能美好生活,2022新品预售,半价抢购大眼橙M3居家观影好助手
  6. 基于FPGA和STM32的相位差测量(含源码)
  7. 仪表放大器放大倍数分析-运算放大器
  8. Linux grep:获取一个字符串中的一部分
  9. ABB机器人、PLC、C#上位机全套程序,项目用的是ABB蜘蛛机器人,六轴用的程序开发都一样
  10. 温州民企走出寒冬 SOA解读新型工业模式