2017-06-06 from–https://blog.csdn.net/nan8426/article/details/72881494

用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();
}
}
}

运行之前记得改maven仓库根目录。。。