小工具 - 批量删除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

maven项目移除Maven Dependencies后如何再添加进去

转载自:移除maven的dependencies后怎么添加回去 昨天一不留神,把MavenDependencies给移除掉了。一阵痛苦...! 1:找到工程的上一个版本 2:直接替换你的.class...
  • donggua3694857
  • donggua3694857
  • 2016年08月19日 15:24
  • 7489

批量删除Maven中失败的下载项

[摘自] http://stackoverflow.com/questions/5074063/maven-error-failure-to-transfer Remove all yo...
  • kolabb
  • kolabb
  • 2016年03月16日 17:47
  • 960

maven清除仓库缓存

cd %userprofile%.m2\repository for /r %i in (*.lastUpdated) do del %i
  • jiangshanwe
  • jiangshanwe
  • 2017年06月09日 14:14
  • 3768

本地maven仓库清理(java代码)

本地maven仓库清理在有些情况下mavan会下载一些无用的文件产生一些垃圾,使用idea的时候自动加载依赖最容易产生这种情况感觉用着不舒服就可以清理下 清理代码[仅供参考] 代码package ...
  • u010920327
  • u010920327
  • 2017年12月07日 14:45
  • 294

清理maven本地repository中的lastupdated文件

由于经常要对repository仓库的lastUpdated文件进行清理,所以就写了个简单的批处理。 @echo off rem 这里写你的仓库路径(此批处理文件放在repository文件夹下,...
  • acdfy
  • acdfy
  • 2018年01月09日 21:43
  • 33

maven仓库清理缓存文件(dos工具)

1.使用过maven的人都应该知道,maven下载jar包时,有时由于网络问题,会造成文本未下载完毕,残留.lastUpdated文件,下次使用pom时,由于该jar包已被cached缓存,又无法更新...
  • leadseczgw01
  • leadseczgw01
  • 2016年11月25日 00:07
  • 5880

清除所有的maven仓库中lastUpdated文件

  • 2015年08月10日 13:59
  • 11KB
  • 下载

Maven详解之仓库------本地仓库、远程仓库

maven的本地仓库和远程仓库,详解maven的远程仓库。 在实际开发中,快照版本的实际意义和作用。如何进行安全认证的配置?创建私服的好处,maven仓库依赖解析的机制...
  • wanghantong
  • wanghantong
  • 2014年08月11日 20:42
  • 277224

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

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

maven下载jar包失败的原因- 解决方法汇总

【此贴转载,大概意思懂,但是本人maven学的不精,部分细节不清楚,读者自行研究琢磨】  最近把本地一个项目移到新的开发环境中,但是maven总是有几个jar包不能下载下来,最后通过三个步骤...
  • u013521220
  • u013521220
  • 2017年03月13日 12:31
  • 9274
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小工具 - 批量删除Maven下载失败的文件夹
举报原因:
原因补充:

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