小工具 - 批量删除Maven下载失败的文件夹

来源:互联网 发布:linux 物理网卡 编辑:程序博客网 时间:2024/06/05 01:06

用过Maven的应该都遇到过,当网速不好或者源有问题的时候,Maven的依赖包经常下载失败。

下载失败后在本地仓库对应的文件夹中有一个以.lastUpdated结尾的文件,如果不手动删除这个文件,就不能重新更新依赖,重新下载对应的jar包。

一般情况下遇到的时候可能直接手动找到目录删除。

当出现很多这样的情况时,一个个找起来也很麻烦。

因此本文提供一个小工具,就是一段Java代码,通过这段代码来删除。

CleanMvn.java:

public class CleanMvn {    public static void main(String[] args){        if(args.length != 1){            print("使用方法错误,方法需要一个参数,参数为mvn本地仓库的路径");        }        findAndDelete(new File(args[0]);    }    public static boolean findAndDelete(File file){        if(!file.exists()){        } else if(file.isFile()){            if(file.getName.endsWith("lastUpdated")){                deleteFile(file.getParentFile());                return true;            }        } else if(file.isDirectory()){            File[] files = file.listFiles();            for(File f : files){                if(findAndDelete(f)){                    break;                }            }        }        return false;    }    public static void deleteFile(File file){        if(!file.exists()){        } else if(file.isFile()){            print("删除文件:" + file.getAbsolutePath());            file.delete();        } else if(file.isDirectory()){            File[] files = file.listFiles();            for(File f : files){                deleteFile(f);            }            print("删除文件夹:" + file.getAbsolutePath());            print("====================================");            file.delete();        }    }    public static void print(String msg){        System.out.println(msg);    }}

可以在IDE中指定参数后运行这段代码,例如直接调方法findAndDelete(new File("d:\\.m2\\repository"));

或者在命令行下执行这段代码:

  • 首先javac CleanMvn.java编译为.class文件。

  • 然后java CleanMvn d:\.m2\repository通过后面的参数来删除本地仓库中无效的文件。

2 0
原创粉丝点击