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

原创 2015年11月18日 13:12:20

用过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通过后面的参数来删除本地仓库中无效的文件。

版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

重新下载所有未下载成功的maven包(含大量未下载的方法)

重新下载所有未下载成功的maven包

删除Maven仓库无用的版本

用maven开发的朋友,有没有发现平时用maven时,会有很多包没有下载完,或者下载了一半终止了,有些甚至只下载了一个版本号的文件夹。。。很多类似的例子,今天也遇到这个问题,就写了一个程序删除仓库中这...
  • nan8426
  • nan8426
  • 2017年06月06日 15:38
  • 850

Maven 修改本地存储库位置

Maven 修改本地存储库位置 ref url:  http://hi.baidu.com/zyh010/item/862a75dc97f3bf52d73aaec3   step1:默认会放在~...
  • jackpk
  • jackpk
  • 2013年03月17日 01:07
  • 24322

批量删除Maven下载失败的jar

用过Maven的应该都遇到过,当网速不好或者源有问题的时候,Maven的依赖包经常下载失败。 下载失败后在本地仓库对应的文件夹中有一个以.lastUpdated结尾的文件,如果不手动删除这个文件,就...

Maven设置本地仓库及依赖包下载不全的解决方法

当你在pom.xml中加入坐标后,maven自动下载相应jar包,完成之后发现pom.xml内容没有报错但是就是有个红叉,应该就是有各别jar包缺失,可以在Maven Denpendencies右键b...

关于maven下载jar包失败的问题的总结和解决

问题描述: 在项目在SVN下载完成,maven在环境中部署完成后,导入项目到MyEclipse中出错,然而所有的jar包都下载失败。 问题分析: 重新检查了所有的部署环境和本地的...

批量删除maven下载失败文件lastUpdated的目录

因网络或其他的原因,maven下载jar等文件失败后,会在目录中存在  *.jar.lastUpdated ,如:xmlpull-1.1.3.1.jar.lastUpdated, 此时,代码编译时会...

Maven Dependency 下载失败问题

在使用Maven私服Sonatype Nexus的时候,经常会出现依赖包找不到的问题. 此时通过浏览器去私服页面查看,发现依赖包坐标是存在的,对应的文件(比如jar文件). 或者私服上面也找不到文...

解决eclipse maven 项目重新下载包这个问题

本文转载至:http://www.cnblogs.com/huzi007/p/5602063.html 问题:eclipse项目使用maven下载依赖包,但是有时候断网什么来着就不会自动下载...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小工具 - 批量删除Maven下载失败的文件夹
举报原因:
原因补充:

(最多只允许输入30个字)