开发者社区> yemon> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

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

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

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

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

因此本文提供一个小工具,就是一段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通过后面的参数来删除本地仓库中无效的文件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Maven Setting文件详析(下)
Maven Setting文件详析(下)
33 0
java 上传 下载文件工具类
java 上传 下载文件工具类
187 0
java 文件处理 工具类
java 文件处理 工具类
45 0
文件批量重命名
很久以前用过一个软件,界面也大概是这个样子的,前天需要批量重命名的时候找不到以前用的软件的了,自己边学WPF边捉磨着做了一个,只是实现我自己想要的功能... 源码地址:https://coding.net/u/niunan/p/niunan_changename/git
820 0
Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils; import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;/**  * CFMS    :Computer files management system   * version :1.0 2013-3-2 下午03:3
1396 0
+关注
65
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载