【Maven】Maven仓库无用文件和文件夹清理

众所周知,随着经济社会的发展,我们的物质生活…不好意思,走错片场了…

今天来分享一个实用的代码…

大家都知道我们在使用Maven的时候,都会下载一堆依赖jar包,但是有时候因为网络问题,会下载一堆无用非jar文件。另外还有许多自己本地打包的无效版本等

下面使用代码将Maven仓库中的无用文件夹和不完整的jar包的版本统统删掉

先贴一个效果,如下图??

【Maven】Maven仓库无用文件和文件夹清理_第1张图片

public class Test {

// 仓库根目录
static String root = "你的maven仓库根目录";

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

你可能感兴趣的:(java,java,后端)