Maven – 删除所有损坏的 jar/依赖项

Maven – 删除所有损坏的 jar/依赖项

原文: https://howtodoinjava.com/maven/remove-all-corrupt-jars/

通过从仓库中删除所有损坏的 jar 来学习重建本地仓库,并修复丢失或损坏的 Maven 依赖项的问题。

该解决方案将在需要强制更新 Maven 项目或下载缺少 Maven 依赖项的情况下为您提供帮助。

1. 方法

在 maven 中,您将观察到大多数依赖项都由于损坏的 jar 下载而损坏。 这种中断留下了一个扩展名为".lastUpdated"的特殊文件。

在此解决方案中,我们创建了一个 Windows 批处理文件(请为 mac/linux 系统编写类似的脚本),该文件将执行以下操作:

  1. 查找所有包含任何扩展名为'.lastUpdated'的文件的文件夹。
  2. 强制删除文件夹及其内容。
  3. 记录文件夹位置以供参考。

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 本地仓库问题的问题以及上面提供的解决方案与我联系。

学习愉快!