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)
相关推荐
ttthe_MOon2 分钟前
Redis Cluster集群模式和各种常见问题
数据库·redis·缓存
John_ToDebug32 分钟前
浏览器极速兼容模式切换原理解析:多内核隔离、内核预热、状态缓存与异步渲染
chrome·缓存·webview
仅此,41 分钟前
前端接收了id字段,发送给后端就变了
java·前端·javascript·spring·typescript
散一世繁华,颠半世琉璃1 小时前
高并发下的 Redis 优化:如何利用HeavyKeeper快速定位热 key
数据库·redis·缓存
柒.梧.1 小时前
Maven构建工具全解析
junit·maven
YANshangqian1 小时前
Electerm(桌面终端模拟软件)
eclipse·maven
deng-c-f1 小时前
Linux C/C++ 学习日记(56):用户态网络缓存区
学习·缓存
memgLIFE10 小时前
Springboot 分层结构
java·spring boot·spring
一叶飘零_sweeeet10 小时前
从单机到集群:Redis部署全攻略
数据库·redis·缓存
黄俊懿11 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——全局事务的提交
java·后端·spring·spring cloud·微服务·架构·架构师