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

目录
相关文章
|
3月前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
30天前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
109 1
|
5月前
|
Java Linux Maven
Maven下载与安装详细教程
Maven下载与安装详细教程
144 0
|
3月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
3月前
|
安全 Java Maven
优化Maven镜像配置:使用阿里云加速依赖下载
更新Maven镜像配置至关重要,尤其使用阿里云仓库时。在`settings.xml`中加入特定镜像配置可显著提升依赖下载速度。示例配置指定了阿里云镜像ID、替代表态仓库、安全的URL、默认布局及启用版本管理。需定位至用户目录下的`.m2/`文件夹编辑`settings.xml`,添加镜像信息后保存测试。若下载仍慢,考虑网络状况或备选镜像。多镜像设置时需注意避免冲突。
592 3
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
|
3月前
|
Java 编译器 测试技术
项目管理工具Maven的简单配置示例
【8月更文挑战第11天】这段内容介绍了如何通过Maven快速搭建并配置一个Java项目。首先需确保已安装Maven,接着可通过命令行创建一个基础项目结构,定义`groupId`、`artifactId`等基本信息。项目根目录下的`pom.xml`文件是核心配置文件,用于声明依赖库如JUnit,并配置构建插件如Maven Compiler Plugin以指定Java编译版本。最后,通过执行`mvn clean install`命令完成项目的清理与构建。这个流程适合初学者快速上手Maven项目管理。
|
4月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
|
4月前
|
Java Maven
maven下载安装与配置
maven下载安装与配置
127 0