我开始配置我的开发环境,我正在使用Spring Tool Suite 2.8.1和m2E 1.01。
据我所知,由于这是一个Maven项目(我的第一个),我的Maven POM正在指示(以及m2E smarts)我的项目构建配置和依赖项。
我想知道的是为什么我的IDE显示的Java Build Error为“库 library / path / somejar.jar 所需的存档无法读取或不是有效的zip文件”当我能看到我的.m2存储库中的jar?
所有错误都与commons-logging:1.1.1有关,我在我的父pom中排除了。这是通过spring-context-support支持的转换依赖:3.0.5。我从我的构建中排除了该库,现在错误与spring-context-support库有关。
我附上了截图来说明。
答案 0 :(得分:84)
确实IDE经常缓存本地存储库(Eclipse做了类似的事情,我必须重新启动Eclipse)。
您可能遇到的一个丑陋的maven行为是,如果您在实际安装之前声明了依赖项,maven将创建缺少的依赖项的空版本(具有元数据但没有jar的文件夹),您将不得不手动清理.m2存储库。
第三,安装的存档(jar ...)可能会损坏,因此请尝试使用任何存档工具(7zip ...)打开它来测试它,如果存档已损坏,则删除整个文件夹。
答案 1 :(得分:16)
在我的情况下,我必须手动删除.m2\repository
文件夹中的所有文件,然后打开命令提示符并在我的项目目录中运行mvn -install
命令。
答案 2 :(得分:10)
我使用Eclipse作为IDE,我得到了同样的错误。我必须做Project-> Maven->更新项目。选择下面的所有复选框,除了“离线”esp。一个“强制更新快照/发布”并单击“确定”。是否为项目做了清洁构建。
答案 3 :(得分:5)
从Eclipse / STS中的本地.m2存储库和 Ctrl + F5 (更新Maven项目)中删除损坏的文件。它会下载并安装这些文件。
答案 4 :(得分:3)
这对我有用。
答案 5 :(得分:2)
对于Google员工:
在我的情况下,我偶然手动将Java类添加到构建路径,同时在Eclipse周围进行操作。通过查看“配置构建路径...”>库我删除了罪魁祸首类,现在只有
并没有任何抱怨。
答案 6 :(得分:1)
在我的情况下,我尝试了所有建议的提示,但错误仍然存在。我解决了使用更新版本的更改并在pom.xml中编写它。在这之后一切都好了。
答案 7 :(得分:1)
我删除了本地maven存储库。 然后右键单击该项目 - > Maven - >更新项目...... 选择所有相关项目,然后单击“确定”。
答案 8 :(得分:1)
以下步骤解决了我的问题。
转到./m2/repository文件夹。
转到相应的存档错误文件夹。
验证所有zip文件是否存在。
删除错误名称文件夹。
现在进入Eclipse项目-右键单击-Maven->更新项目。
以上技巧对我有效。
答案 9 :(得分:0)
我面对同样的问题。我删除了本地存储库并重新启动了ID。它运作良好。
答案 10 :(得分:0)
这发生在Eclipse拧紧时。要解决此问题,请删除以下位置的所有文件:
workspace/.metadata/.plugins/org.eclipse.jdt.core
答案 11 :(得分:0)
在“问题”部分中阅读问题,确定无法读取的依赖项,然后转到Maven存储库.m2 \ repository-> 1)检查依赖项并将其从文件夹中删除 2)转到STS / Eclipse->单击Maven->更新项目->选择快照/发行版的强制更新,然后单击确定。
或 从.m2 /存储库中删除依赖项并重建Maven->更新Maven项目
答案 12 :(得分:0)
对于VSCode,请执行以下步骤:
对我有用。
答案 13 :(得分:0)
或者,以下命令也对我有用:
mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse
答案 14 :(得分:0)
我的项目也面临同样的问题。
我的项目找不到该存档:-
C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final
我去了这个目录并删除了这个文件夹。
回到月食并按ALT + F5更新项目。
再次下载了jar文件,问题已解决。
您应该尝试这个。
答案 15 :(得分:0)
当我看到一条错误消息:“无法读取所需库的存档”时,我通过从项目的构建路径中删除有问题的JARS,然后使用“添加外部Jar”将其添加回来解决了该问题。再次(导航到它们所在的文件夹)。使用“添加罐子”按钮将不起作用,并且错误仍然存在。但是使用“添加外部罐子”是可行的。
答案 16 :(得分:0)
上述解决方案都没有解决我的问题。我通过删除{projectworkspace} / .metadata文件夹和{location} /.m2文件夹中的所有文件来解决它,让eclipse再次下载每一件事。希望这可以帮助别人,欢呼!
答案 17 :(得分:0)
在Indigo SR2上遇到此问题。我从类路径(构建路径)中删除了一个多余的jar后弹出。重启Eclipse没有帮助。将jar添加回构建路径...错误消失了。再次取出罐子,这次我没有再次投诉了。
答案 18 :(得分:0)
好吧,我在Mac上遇到了与STS相同的问题并通过删除存储库文件夹中的所有文件来解决它,并从STS IDE中单击该项目然后单击Maven - >更新项目。给它几分钟的时间来下载所有依赖项,问题就解决了。
答案 19 :(得分:0)
我遇到了这个问题。我有"归档所需的库spring-boot-devtools无法读取或不是有效的ZIP文件"解决方案是这样的: - 1-确定有问题的依赖项名称(可能是spring-boot-devtools)。 2-日食。 3-在.m2文件中搜索这些依赖项(按名称)。 4-删除这些文件夹。 5-重新打开eclipse,让maven再次重建你的依赖。
答案 20 :(得分:0)
从构建路径中删除maven依赖项
答案 21 :(得分:0)
这可能是因为您已将spring-licence.txt文件添加到您的Web应用程序库中。
我有类似的问题并在删除该文本文件后解决了。在库中,它只需要jar文件。
答案 22 :(得分:-1)
Delete your C:\Users\PC\.m2** folder
and update maven project