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