Maven – 删除所有损坏的 jar/依赖项
原文: https://howtodoinjava.com/maven/remove-all-corrupt-jars/
通过从仓库中删除所有损坏的 jar 来学习重建本地仓库,并修复丢失或损坏的 Maven 依赖项的问题。
该解决方案将在需要强制更新 Maven 项目或下载缺少 Maven 依赖项的情况下为您提供帮助。
1. 方法
在 maven 中,您将观察到大多数依赖项都由于损坏的 jar 下载而损坏。 这种中断留下了一个扩展名为".lastUpdated"
的特殊文件。
在此解决方案中,我们创建了一个 Windows 批处理文件(请为 mac/linux 系统编写类似的脚本),该文件将执行以下操作:
- 查找所有包含任何扩展名为
'.lastUpdated'
的文件的文件夹。 - 强制删除文件夹及其内容。
- 记录文件夹位置以供参考。
2. 删除 Maven 损坏的 jar 的批处理文件
以下是执行上述部分列出的所有步骤的批处理文件。
:: Usage
:: C:/M2> delete-corrupt-dependencies.bat > files.txt
@echo off
setlocal EnableDelayedExpansion
set last=?
for /f %%I in ('dir /s /b /o:n /a-d "*.lastUpdated"') do (
if !last! NEQ %%~dpI (
set last=%%~dpI
echo !last!
rd /s /q !last!
)
)
goto end
:end
3. 用法
将其放置在 maven 的 M2 文件夹中 Windows 批处理文件上方。
现在打开命令提示符并运行批处理文件。 您可以在文件中捕获文件的输出(已删除损坏的依赖项列表)。
$ delete-corrupt-dependencies.bat > files.txt
上述批处理文件完成处理后,您可以将丢失的 Maven 依赖项列表(已清除)检查到当前目录中生成的files.txt
文件中。
C:\M2\commons-beanutils\commons-beanutils\1.9.3
C:\M2\io\netty\netty-buffer\4.1.39.Final
...
...
...
and so on
请把关于 maven 本地仓库问题的问题以及上面提供的解决方案与我联系。
学习愉快!