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仓库根目录。。。