删除Maven仓库无用的版本
2017-06-06 15:38
309 查看
用maven开发的朋友,有没有发现平时用maven时,会有很多包没有下载完,或者下载了一半终止了,有些甚至只下载了一个版本号的文件夹。。。很多类似的例子,今天也遇到这个问题,就写了一个程序删除仓库中这些没用的包
不多说直接上代码
import java.io.File;
public class Test {
// 仓库根目录
static String root = "E:/tools/repository";
public static void main(String[] args) {
File file = new File(root);
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
validate(_file);
}
}
}
public static boolean validate(File file) {
boolean isHaveJar = false;
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
// 判断是否有*jar 是否是有文件夹
for (File _file : _files) {
if (_file.getName().endsWith(".jar")) {
isHaveJar = true;
}
if (_file.isDirectory()) {
boolean isNextHaveJar = validate(_file);
if (isNextHaveJar) {
isHaveJar = true;
}
}
}
}
if (!isHaveJar) {
delete(file);
}
return isHaveJar;
}
public static void delete(File file) {
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
if (_file.isDirectory()) {
delete(_file);
}
_file.delete();
}
} else {
file.delete();
}
}
}
不多说直接上代码
import java.io.File;
public class Test {
// 仓库根目录
static String root = "E:/tools/repository";
public static void main(String[] args) {
File file = new File(root);
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
validate(_file);
}
}
}
public static boolean validate(File file) {
boolean isHaveJar = false;
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
// 判断是否有*jar 是否是有文件夹
for (File _file : _files) {
if (_file.getName().endsWith(".jar")) {
isHaveJar = true;
}
if (_file.isDirectory()) {
boolean isNextHaveJar = validate(_file);
if (isNextHaveJar) {
isHaveJar = true;
}
}
}
}
if (!isHaveJar) {
delete(file);
}
return isHaveJar;
}
public static void delete(File file) {
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
if (_file.isDirectory()) {
delete(_file);
}
_file.delete();
}
} else {
file.delete();
}
}
}
运行之前记得改maven仓库根目录。。。
相关文章推荐
- Maven本地仓库越用越大,删除无效版本文件
- maven release插件将一版本发布到仓库中时Return code is: 401, ReasonPhrase:Unauthorized
- 移除wordpress版本信息 删除无用信息
- AndroidStudio如何打包生成realease版本的arr包,并上传到Nexus搭建的maven仓库,供项目远程依赖(一)
- maven打包编译的错误:sun.misc.BASE64Decoder是Sun的专用API,可能会在未来版本中删除
- nexus建立maven仓库私服及Snapshots、release的版本管理
- maven 打包编译的错误 :sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除
- centos7.3 docker registry(使用版本 2.6.1) 私有仓库 建立 查询 删除(未成功删除文件和元数据,好像是实际当前官方版本不支持) 回收垃圾(未成功,好像是实际当前官方版本不支持) 安全认证(仅限用户名密码)
- git的安装和使用Mac版本,本地代码仓库文件的删除和重新导入代码
- maven 私服仓库中(快照版本)转帖
- maven发布SNAPSHOT版本到私服仓库
- maven3实战之仓库(快照版本)
- maven警告:com.sun.image.codec.jpeg.JPEGCodec 是 Sun 的专用 API,可能会在未来版本中删除
- maven打包编译的异常 :sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除的解决方法
- AndroidStudio下结合本地maven仓库多版本配置
- Maven编译失败:sun.misc.BASE64Decoder是sun的专用API,可能会在未来的版本中删除
- 关于 maven 私服删除版本恢复的问题
- 【版本二】手动将jar添加到maven仓库中
- 删除maven仓库中的LastUpdated文件
- 删除maven仓库中的LastUpdated文件