编译器错误“无法读取所需库的存档” - 弹簧工具套件

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

据我所知,由于这是一个Maven项目(我的第一个),我的Maven POM正在规定(以及m2E智能)我的项目构建配置和依赖项。

我想知道的是,当我可以看到.m2存储库中的jars时,为什么我的IDE显示Java构建问题,上面写着“库库/路径/somejar所需的存档.jar无法读取或不是有效的zip文件”?

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

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

Markers


答案 1

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

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

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


答案 2

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


推荐