有个时候多人多team协作开发过程中,会存在临时修改的二方包,同样版本需要重新拉取的情况。发现大部分人包括自己长久以来也是采用最原始的方法,一层层找到对应的目录删除对应的文件。某天实在是受不了了,写了个小工具分享下,小代码解决小问题。

外部依赖:fastjson,commons-io,commons-lang3,不要嘲笑,有工具干嘛不用呢,非得造轮子吗。

import com.alibaba.fastjson.JSON;

import org.apache.commons.io.FileUtils;

import org.apache.commons.io.IOUtils;

import org.apache.commons.lang3.StringUtils;

import java.io.File;

import java.io.IOException;

import java.nio.file.Path;

import java.nio.file.Paths;

import java.util.HashMap;

import java.util.Map;

/**

* @author tjw

*/

public class MavenLocalRepoCleaner {

/**

* coordinateJson

* {

* "groupId1":"artifactId1:version1,artifactId2:version2...",

* "groupId2":"artifactId:version,..."

* }

*/

public static void main(String[] args) {

String coordinateJson="{"

+ "\"top.xbynet.xxx\":\"\""

+ "}";

Map coordinateMap=JSON.parseObject(coordinateJson,HashMap.class);

Path m2Repo= Paths.get(System.getProperty("user.home"),".m2","repository");

coordinateMap.entrySet().stream().forEach(v->{

String groupId=v.getKey();

groupId = groupId.replace('.', File.separatorChar);

if(StringUtils.isBlank(v.getValue())){

Path dir = Paths.get(m2Repo.toString(), groupId);

try {

FileUtils.deleteDirectory(dir.toFile());

} catch (IOException e) {

e.printStackTrace();

}

}else {

String[] artfactIdVers = v.getValue().split(",");

for (String str : artfactIdVers) {

String ver = "";

if (str.contains(":")) {

ver = str.split(":")[1];

}

String artfactId = str.split(":")[0];

Path dir = Paths.get(m2Repo.toString(), groupId, artfactId, ver);

try {

FileUtils.deleteDirectory(dir.toFile());

} catch (IOException e) {

e.printStackTrace();

}

}

}

});

}

}

jenkins如何清缓存_Maven本地缓存清理小工具相关推荐

  1. 同时存多个变量缓存 微信小程序_微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解...

    微信小程序 缓存 关于本地缓存 1.wx.setStorage(wx.setStorageSync).wx.getStorage(wx.getStorageSync).wx.clearStorage( ...

  2. 客户端缓存(http缓存和本地缓存)

    原文链接:https://juejin.im/post/6844904194680291342 http缓存 http缓存用于客户端储存一些不经常变化的静态文件(图片.css.js等).分为强制缓存和 ...

  3. 论微服务接入Redis缓存和本地缓存,提高性能并发第一步!

    一.缓存的概念 首先引入缓存还是有几个问题要问的 1.为什么要用缓存 2.项目中缓存是如何使用的 3.常见的缓存问题 带着这几个问题进行下面的学习 为什么需要缓存? 我们用缓存主要有两个原因 1,缓存 ...

  4. MyBatis 缓存详解-一级缓存(本地缓存)介绍

    一级缓存也叫本地缓存,MyBatis 的一级缓存是在会话(SqlSession)层面进行缓存的.MyBatis 的一级缓存是默认开启的,不需要任何的配置. 首先我们必须去弄清楚一个问题,在MyBati ...

  5. 服务端分布式缓存与本地缓存

    缓存技术是保障系统性能的基础技术.核心技术. 缓存发挥的作用 ① 最大程度上避免对数据库的并发查询,从而降低因为数据库资源不足导致的系统故障. ② 提升系统的响应速度,保证用户体验 总之缓存使系统稳定 ...

  6. 分布式缓存与本地缓存的区别

    分布式缓存与本地缓存的区别 转载自:https://ost.51cto.com/posts/1002 缓存的概念: 在服务端中,缓存主要是指将数据库的数据加载到内存中,之后对该数据的访问都在内存中完成 ...

  7. 分布式缓存和本地缓存的区别

    分布式缓存和本地缓存的区别 redis/memcached**分布式缓存**和map/guava**本地缓存**的区别 什么是缓存一致性? redis/memcached分布式缓存和map/guava ...

  8. 前端缓存 (http缓存 与 本地缓存)

    前端缓存主要是分为http缓存和本地缓存 http 缓存 强缓存:Expires(过期时间)/ Cache-Control(no-cache)(优先级高) 协商缓存:Last-Modified/Eta ...

  9. 从架构上来理解redis缓存和本地缓存的关系

    redis缓存和本地缓存混用是一种非常实用的实践方式. 优点:极大地降低了redis的读写频率,特别是处理特别耗时的业务逻辑(大于1分钟). 缺点:会产生一定的延时,这个延时具体的影响将会根据业务的差 ...

  10. 缓存基础----本地缓存、分布式缓存以及多级缓存

    目录 一.缓存的概念(什么是缓存) 二.为什么要用缓存(为什么要用redis作为缓存) 三.缓存的分类有哪些 1.本地缓存 2.分布式缓存 3.多级缓存 像MySql等传统的关系型数据库已经不能适用于 ...

最新文章

  1. php7-fpm webtatic,如何在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
  2. restful可以转发么_什么是RESTFUL?REST的请求方法有哪些,有什么区别?
  3. Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
  4. Linux 下 微擎 的安装使用
  5. 如果地球突然停止转动,那么接下来会发生什么?
  6. 正则表达式-匹配时间
  7. 多屏显示 全屏后在副显示器_多屏生产力有多重要?联想ThinkVision思逸14显示器...
  8. jsp大学计算机知识点,大学计算机规划教材:JSP大学实用教程
  9. PHP代码审计基础知识
  10. pinpoint集群的安装配置
  11. VBA checkbook动态添加后,添加事件方式
  12. 同个网络的两台计算机怎么设置局域网,两台电脑怎么样连在同一个局域网
  13. apex英雄机器人探路者怎么玩_Apex英雄探路者玩法技巧攻略
  14. 华为服务体系:ITR流程体系详解
  15. 渗透学习日记day5
  16. 用Python做一个好玩的朋友圈九宫格抽奖
  17. 编译安装Linux内核(以5.10.104版本为例)
  18. Android 实战 - 天气(有缺陷)APP
  19. 解耦的概念、spring实现解耦的概述
  20. python + snownlp 正负面分析

热门文章

  1. vue+element 实现时间选择器切换周月选择
  2. 域名系统几类服务器,域名服务器可分为什么类型
  3. MATLAB制作PPT(一):插入图片
  4. 嵌入式linux软件数据参数保存的三种方式
  5. 安卓ps2模拟器_安卓PSP模拟器评测:火影忍者究极冲击
  6. 计算机演示文稿操作,计算机操作与应用 PowerPoint 演示文稿的设计与制作.ppt
  7. 解析:为什么程序员应该有一台Mac个人电脑?
  8. asm.jar 安卓手机屏幕在电脑上显示
  9. 黑苹果Mac OS 12镜像下载 DMG
  10. FATAL: kernel too old