77

我开始配置我的开发环境,我正在使用 Spring Tool Suite 2.8.1 和 m2E 1.01。

据我所知,由于这是一个 Maven 项目(我的第一个),我的 Maven POM 决定(连同 m2E 智能)我的项目构建配置和依赖项。

我想知道的是为什么我的 IDE 显示 Java 构建问题,当我可以看到.m2存储库?

所有错误都与我在 parent-pom 中排除的 commons-logging:1.1.1 相关。这是通过 spring-context-support:3.0.5 实现的传递依赖。我从我的构建中排除了该库,现在错误与 spring-context-support 库有关。

我附上了一个截图来说明。

标记

4

23 回答 23

94

事实上,IDE 经常缓存本地存储库(Eclipse 做类似的事情,我必须重新启动 Eclipse)。

您可能会遇到一种丑陋的 maven 行为,如果您在实际安装之前声明了一个依赖项,maven 将创建一个缺少的依赖项的空版本(包含元数据但没有 jar 的文件夹),并且您将不得不手动清理您的 .m2 存储库.

第三,已安装的存档(jar...)可能会损坏,因此请尝试使用任何存档工具(7zip...)打开它来测试它,如果存档损坏,请删除整个文件夹。

于 2012-04-12T12:03:34.983 回答
18

在我的情况下,我必须手动删除文件.m2\repository夹中的所有文件,然后mvn -install在我的项目目录中打开命令提示符并运行命令。

于 2014-04-22T14:46:03.473 回答
9

我使用 Eclipse 作为 IDE,我得到了同样的错误。我必须做项目-> Maven-> 更新项目。选择下面的所有复选框,除了“离线”特别是。一个“强制更新快照/版本”,然后单击“确定”。再次为项目进行了干净的构建。

于 2014-11-06T17:32:13.760 回答
6

从本地 .m2 存储库和Eclipse/STS 中的Ctrl+ (更新 Maven 项目)中删除损坏的文件。F5它将下载并安装这些文件。

于 2017-05-06T10:45:11.773 回答
4

这对我有用。

  1. 关闭日食
  2. 删除 ./m2/repository
  3. 打开Eclipse,它会自动下载所有的jar
  4. 如果问题仍然存在,则右键单击项目 > Maven > 更新项目... > 检查“强制更新快照/发布”
于 2018-08-25T07:42:45.490 回答
2

对于 Google 员工:

在我的例子中,我在浏览 Eclipse 时不小心手动添加了一个 Java 类到构建路径中。通过查看“配置构建路径...> 库”,我删除了罪魁祸首类,现在只有

  • JRE 系统库
  • Maven 依赖项

没有什么可抱怨的。

于 2015-07-30T19:20:50.193 回答
2

以下步骤解决了我的问题。

  1. 转到 ./m2/repository 文件夹。

  2. 转到相应的存档错误文件夹。

  3. 验证是否存在任何 zip 文件。

  4. 删除错误名称文件夹。

  5. 现在来到 Eclipse 项目 - 右键单击​​ - Maven -> 更新项目。

以上技巧对我有用。

于 2018-11-21T12:56:36.843 回答
1

就我而言,我尝试了所有建议的提示,但错误仍然存​​在。我解决了使用更新版本进行更改并将其写入 pom.xml 的问题。在此之后,现在一切正常。

于 2014-06-08T11:50:09.390 回答
1

我删除了本地 Maven 存储库。然后只需右键单击项目 -> Maven -> 更新项目...选择所有相关项目并单击确定。

于 2016-11-03T14:30:46.287 回答
1

我的项目面临同样的问题。

我的项目无法找到此存档:-

C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final

我去了这个目录并删除了这个文件夹。

回到 Eclipse 并点击 ALT + F5 来更新项目。

再次下载jar文件,问题解决。

你应该试试这个。

于 2018-12-15T16:42:52.610 回答
1

当 Eclipse 搞砸时,就会发生这种情况。要修复它,请删除以下所有文件:

workspace/.metadata/.plugins/org.eclipse.jdt.core
于 2020-10-29T23:27:12.740 回答
0

这可能是因为您已将 spring-licence.txt 文件添加到您的 Web 应用程序库中。

我有类似的问题并在删除该文本文件后解决。在库中,它只需要 jar 文件。

于 2016-08-25T04:49:08.573 回答
0

从构建路径中删除 Maven 依赖项

于 2017-02-08T03:25:59.193 回答
0

我遇到了这个问题。我有“所需库 spring-boot-devtools 的存档无法读取或不是有效的 ZIP 文件”,解决方案是这样的:- 1- 确定有问题的依赖项名称(可能是 spring-boot-开发工具)。2-关闭日食。3- 在您的 .m2 文件中搜索这些依赖项(按名称)。4-删除这些文件夹。5-重新打开eclipse并让maven再次重建你的依赖。

于 2017-06-16T11:05:21.177 回答
0

好的,我在 Mac 上遇到了与 STS 相同的问题,并通过删除存储库文件夹中的所有文件并从 STS IDE 单击项目然后单击 Maven -> 更新项目来解决它。给它几分钟下载所有依赖项,问题就解决了。

于 2018-01-22T13:11:31.200 回答
0

我面临同样的问题。我删除了本地存储库并重新启动了 ID。它工作得很好。

于 2018-02-17T07:30:48.837 回答
0

刚刚在 Indigo SR2 上遇到了这个问题。在我从类路径(构建路径)中删除了一个多余的 jar 后,它弹出了。重新启动 Eclipse 没有帮助。将 jar 添加回构建路径...错误消失了。再次移开罐子,这一次我没有受到另一次投诉。

于 2018-02-23T12:53:57.263 回答
0

上述解决方案都没有解决我的问题。我已经通过删除 {projectworkspace}/.metadata 文件夹和 {location}/.m2 文件夹中的所有文件解决了这个问题,让 eclipse 再次下载每一个东西。希望这对某人有帮助,干杯!

于 2018-04-06T23:03:53.990 回答
0

当我收到错误提示“无法读取所需库的存档”时,我通过从项目的构建路径中删除有问题的 JARS 来解决它,然后使用“添加外部 jars”将它们重新添加回来(导航到他们所在的同一个文件夹)。使用“添加罐子”按钮不起作用,错误仍然存​​在。但是使用“添加外部罐子”有效。

于 2018-10-25T21:24:18.007 回答
0

或者,以下命令也对我有用:

mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse
于 2019-08-29T09:54:20.853 回答
0

如果是 VSCode,请按照以下步骤操作:

  1. 导航到包含损坏 jar 的相应文件夹
  2. 只删除 jar
  3. mvn 清洁
  4. mvn 编译

这对我有用。

于 2020-05-22T10:55:17.213 回答
0

阅读问题部分中的问题,确定哪个依赖项无法读取,然后转到 maven 存储库 .m2\repository -> 1)检查依赖项并将其从文件夹中删除 2)转到 STS/Eclipse -> 单击 maven - > 更新项目 -> 选择快照/版本的强制更新,然后单击确定。

或从 .m2/repository 中删除依赖项并重建 maven --> 更新 maven 项目

于 2020-06-29T11:09:43.743 回答
-1
Delete your C:\Users\PC\.m2** folder
and update maven project 
于 2020-11-21T11:03:04.560 回答