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

> 原文： [https://howtodoinjava.com/maven/remove-all-corrupt-jars/](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 的批处理文件

以下是执行上述部分列出的所有步骤的批处理文件。

```java
:: 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 文件夹](https://howtodoinjava.com/maven/change-local-repository-location/)中 *Windows 批处理文件*上方。

现在打开命令提示符并运行批处理文件。 您可以在文件中捕获文件的输出（已删除损坏的依赖项列表）。

```java
$ delete-corrupt-dependencies.bat > files.txt

```

上述批处理文件完成处理后，您可以将丢失的 Maven 依赖项列表（已清除）检查到当前目录中生成的`files.txt`文件中。

```java
C:\M2\commons-beanutils\commons-beanutils\1.9.3
C:\M2\io\netty\netty-buffer\4.1.39.Final
...
...
...
and so on

```

请把关于 **maven 本地仓库**问题的问题以及上面提供的解决方案与我联系。

学习愉快！