本文目录导读:

Windows 批处理脚本 (clean_maven_cache.bat)
@echo off
chcp 65001 >nulMaven 缓存清理工具
echo ========================================
echo Maven 缓存清理工具
echo ========================================
:: 设置 Maven 本地仓库路径(默认路径)
set MAVEN_REPO=%USERPROFILE%\.m2\repository
:: 检查路径是否存在
if not exist "%MAVEN_REPO%" (
echo 错误:未找到 Maven 仓库路径
echo 默认路径:%MAVEN_REPO%
echo 请确认 Maven 是否已安装或路径是否正确
pause
exit /b 1
)
echo Maven 仓库路径:%MAVEN_REPO%
echo.
:: 选项菜单
echo 请选择清理模式:
echo 1. 清理所有下载失败的依赖(*.lastUpdated 文件)
echo 2. 清理所有未完成的下载(*.inProgress 文件)
echo 3. 清理所有 SNAPSHOT 版本
echo 4. 清理所有缓存(谨慎操作)
echo 5. 自定义清理(输入关键字)
echo 6. 完全清理所有缓存
echo 0. 退出
echo.
set /p choice="请输入选项 (0-6): "
if "%choice%"=="1" goto clean_lastUpdated
if "%choice%"=="2" goto clean_inProgress
if "%choice%"=="3" goto clean_snapshot
if "%choice%"=="4" goto clean_all
if "%choice%"=="5" goto custom_clean
if "%choice%"=="6" goto clean_entire
if "%choice%"=="0" exit /b 0
echo 无效选项!
pause
exit /b 1
:clean_lastUpdated
echo.
echo 正在清理下载失败的依赖...
del /s /q "%MAVEN_REPO%\*lastUpdated*" 2>nul
echo 清理完成!
goto end
:clean_inProgress
echo.
echo 正在清理未完成的下载...
del /s /q "%MAVEN_REPO%\*.inProgress" 2>nul
echo 清理完成!
goto end
:clean_snapshot
echo.
echo 正在清理 SNAPSHOT 版本...
for /d /r "%MAVEN_REPO%" %%d in (*SNAPSHOT) do (
if exist "%%d" (
echo 删除 SNAPSHOT 目录:%%d
rd /s /q "%%d" 2>nul
)
)
echo 清理完成!
goto end
:clean_all
echo.
echo 正在清理所有缓存文件...
del /s /q "%MAVEN_REPO%\*lastUpdated*" 2>nul
del /s /q "%MAVEN_REPO%\*.inProgress" 2>nul
for /d /r "%MAVEN_REPO%" %%d in (*SNAPSHOT) do (
if exist "%%d" (
rd /s /q "%%d" 2>nul
)
)
echo 清理完成!
goto end
:custom_clean
set /p keyword="请输入要清理的关键字(如:commons-lang): "
if "%keyword%"=="" (
echo 关键字不能为空!
pause
exit /b 1
)
echo.
echo 正在清理包含 "%keyword%" 的目录...
for /d /r "%MAVEN_REPO%" %%d in (*%keyword%*) do (
if exist "%%d" (
echo 删除目录:%%d
rd /s /q "%%d" 2>nul
)
)
echo 清理完成!
goto end
:clean_entire
echo.
echo 警告:此操作将删除整个 Maven 缓存!
set /p confirm="确定要继续吗?(Y/N): "
if /i not "%confirm%"=="Y" goto end
echo 正在删除整个缓存...
rd /s /q "%MAVEN_REPO%" 2>nul
echo 缓存已删除!
echo 注意:重新构建项目时会重新下载依赖
goto end
:end
echo.
echo 操作完成!
pause
Linux/macOS Shell 脚本 (clean_maven_cache.sh)
#!/bin/bash
# Maven 缓存清理脚本
# 适用于 Linux 和 macOS
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Maven 仓库路径(默认路径)
MAVEN_REPO="${HOME}/.m2/repository"
# 检查路径是否存在
if [ ! -d "$MAVEN_REPO" ]; then
echo -e "${RED}错误:未找到 Maven 仓库路径${NC}"
echo -e "默认路径:${MAVEN_REPO}"
echo "请确认 Maven 是否已安装或路径是否正确"
exit 1
fi
clear
echo "========================================"
echo -e "${BLUE} Maven 缓存清理工具${NC}"
echo "========================================"
echo -e "Maven 仓库路径:${YELLOW}$MAVEN_REPO${NC}"
echo ""
# 显示菜单
echo "请选择清理模式:"
echo -e "${GREEN}1.${NC} 清理所有下载失败的依赖 (*.lastUpdated)"
echo -e "${GREEN}2.${NC} 清理所有未完成的下载 (*.inProgress)"
echo -e "${GREEN}3.${NC} 清理所有 SNAPSHOT 版本"
echo -e "${GREEN}4.${NC} 清理所有缓存文件(推荐)"
echo -e "${GREEN}5.${NC} 自定义清理(输入关键字)"
echo -e "${RED}6.${NC} 完全清理所有缓存(谨慎)"
echo -e "${GREEN}0.${NC} 退出"
echo ""
read -p "请输入选项 (0-6): " choice
case $choice in
1)
echo -e "\n${YELLOW}正在清理下载失败的依赖...${NC}"
find "$MAVEN_REPO" -name "*lastUpdated*" -type f -delete
echo -e "${GREEN}清理完成!${NC}"
;;
2)
echo -e "\n${YELLOW}正在清理未完成的下载...${NC}"
find "$MAVEN_REPO" -name "*.inProgress" -type f -delete
echo -e "${GREEN}清理完成!${NC}"
;;
3)
echo -e "\n${YELLOW}正在清理 SNAPSHOT 版本...${NC}"
find "$MAVEN_REPO" -type d -name "*SNAPSHOT*" -exec rm -rf {} + 2>/dev/null
echo -e "${GREEN}清理完成!${NC}"
;;
4)
echo -e "\n${YELLOW}正在清理所有缓存文件...${NC}"
find "$MAVEN_REPO" -name "*lastUpdated*" -type f -delete
find "$MAVEN_REPO" -name "*.inProgress" -type f -delete
find "$MAVEN_REPO" -type d -name "*SNAPSHOT*" -exec rm -rf {} + 2>/dev/null
echo -e "${GREEN}清理完成!${NC}"
;;
5)
read -p "请输入要清理的关键字(如:commons-lang): " keyword
if [ -z "$keyword" ]; then
echo -e "${RED}关键字不能为空!${NC}"
exit 1
fi
echo -e "\n${YELLOW}正在清理包含 ${keyword} 的目录...${NC}"
find "$MAVEN_REPO" -type d -name "*${keyword}*" -exec echo "删除目录:{}" \; -exec rm -rf {} + 2>/dev/null
echo -e "${GREEN}清理完成!${NC}"
;;
6)
echo -e "\n${RED}警告:此操作将删除整个 Maven 缓存!${NC}"
read -p "确定要继续吗?(Y/N): " confirm
if [[ $confirm == [Yy] || $confirm == [Yy][Ee][Ss] ]]; then
echo -e "${YELLOW}正在删除整个缓存...${NC}"
rm -rf "$MAVEN_REPO"
echo -e "${GREEN}缓存已删除!${NC}"
echo -e "${YELLOW}注意:重新构建项目时会重新下载依赖${NC}"
else
echo "操作取消"
fi
;;
0)
echo "退出程序"
exit 0
;;
*)
echo -e "${RED}无效选项!${NC}"
exit 1
;;
esac
echo ""
echo -e "${GREEN}操作完成!${NC}"
使用方法
Windows 环境:
- 保存脚本为
clean_maven_cache.bat - 右键以管理员身份运行
- 选择相应的清理选项
Linux/macOS 环境:
- 保存脚本为
clean_maven_cache.sh - 添加执行权限:
chmod +x clean_maven_cache.sh - 运行脚本:
./clean_maven_cache.sh
注意事项
- 备份建议:在执行完全清理(选项6)前,建议先备份,特别是当您有自定义配置时
- 网络要求:清理后首次构建项目需要重新下载依赖,请确保网络连接正常
- 权限问题:Windows 下可能需要管理员权限才能删除某些文件
- 自定义路径:如果您的 Maven 仓库不在默认位置,可以修改脚本中的
MAVEN_REPO变量
这些脚本可以帮助您快速清理 Maven 缓存,解决构建过程中的各种缓存问题。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播