maven本地仓库清缓存py脚本

清_remote.repositories、以及 .lastUpdated 缓存文件,避免换仓库or私服的时候一直往旧地方去download从而引起的failtodownlown问题

bash 复制代码
import os
import sys

def delete_maven_metadata_files(directory):
    """
    递归删除指定目录下的 _remote.repositories 和 .lastUpdated 文件
    :param directory: 要扫描的目录(如 Maven 本地仓库路径)
    """
    deleted_files = {"_remote.repositories": 0, ".lastUpdated": 0}

    for root, _, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            # 匹配 _remote.repositories 或以 .lastUpdated 结尾的文件
            if file == "_remote.repositories" or file.endswith(".lastUpdated"):
                try:
                    os.remove(file_path)
                    key = ".lastUpdated" if file.endswith(".lastUpdated") else file
                    deleted_files[key] += 1
                    print(f"已删除: {file_path}")
                except Exception as e:
                    print(f"删除失败 [{file_path}]: {e}")

    print("\n删除完成统计:")
    for file_type, count in deleted_files.items():
        print(f"{file_type}: {count} 个")

if __name__ == "__main__":
    # 硬编码目标目录(修改为你需要的路径)
    target_dir = os.path.expanduser("D:\\dev\\maven-repository2")

    if not os.path.isdir(target_dir):
        print(f"错误: 目录不存在 [{target_dir}]")
        sys.exit(1)

    print(f"开始清理目录: {target_dir}")
    delete_maven_metadata_files(target_dir)
相关推荐
升鲜宝供应链及收银系统源代码服务4 小时前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统
知兀4 小时前
【Spring/SpringBoot】<dependencyManagement> + import 导入能继承父maven项目的所有依赖,类似parent
spring boot·spring·maven
源码宝4 小时前
企业项目级医院随访系统源码,患者随访管理系统,技术框架:Java+Spring boot,Vue,Ant-Design+MySQL5
java·vue.js·spring·程序·医院管理系统·随访·随访系统源码
手握风云-4 小时前
JavaEE 进阶第五期:Maven 之道,项目的依赖艺术与构建哲学
java·java-ee·maven
苦学编程的谢5 小时前
Redis_8_List
数据库·redis·缓存
A.说学逗唱的Coke5 小时前
【观察者模式】深入 Spring 事件驱动模型:从入门到微服务整合实战
spring·观察者模式·微服务
lzjava20246 小时前
Spring AI使用知识库增强对话功能
人工智能·python·spring
一个不称职的程序猿6 小时前
高并发场景下的缓存利器
java·缓存
ToPossessLight09026 小时前
Spring 容器的基本实现
spring
java1234_小锋9 小时前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存