【问题标题】:archive for required library could not be read or is not a valid ZIP file无法读取所需库的存档或不是有效的 ZIP 文件
【发布时间】:2013-10-31 19:22:55
【问题描述】:

在解决这个问题之前,让我解释一下我做了什么让我陷入了这个问题。

  1. 我在 github 上创建了一个帐户,并创建了一个名为 Android 的存储库。
  2. 然后我在 Windows 7 中安装了github client
  3. 然后我打开这个客户端,提供我的身份验证并将存储库克隆到本地目录C:\Users\Aniket\Documents\GitHub\Android(该文件夹中有.git 文件夹)。
  4. 然后我去了我的 Eclipse ADT 并按照here 的描述安装了 EGit 插件。我也是
  5. 然后在 Eclipse 中右键单击我的项目TicTacToe 转到Team->Share Project 并提供我的存储库路径,即C:\Users\Aniket\Documents\GitHub\Android
  6. 我的项目已添加到本地存储库,并且在我的 github 客户端中,它显示了在 github 站点上的实际存储库中提交文件的所有选项。
  7. 但我的项目突然显示错误,带有红色“!”在上面签名。

    描述 --> 所需库的存档:'C:/Users/Aniket/AndroidWorkspace/TicTacToe 无法读取项目“井字游戏”中的 /libs/android-support-v4.jar' 或不是有效的 ZIP 文件

    资源 --> 井字游戏

    路径位置 --> 构建路径

    类型 --> 构建路径问题

注意:错误是在 Eclipse 的错误控制台中显示的单行。我只是为了便于阅读而将其拆分。

即使在分离存储库后,它也会显示该错误。

以前有没有人遇到过这种情况。解决方案或解决方法是什么?我用谷歌搜索,前几个链接表明这是一个 Eclipse 错误。请建议如何使我的项目恢复可执行状态?

【问题讨论】:

  • 就我而言,问题是库没有适当的权限,Eclipse 无法读取它。

标签: android eclipse github adt


【解决方案1】:

这是一个 Eclipse 错误。我曾多次遇到类似的问题。关闭和重新打开项目有时会起作用。如果它不起作用,请尝试重新启动 Eclipse。

【讨论】:

  • 是的,我对其进行了一些研究,是的,它是一个 Eclipse 错误。重新启动 Eclipse 对我有用。发送!
  • @AniketThakur,请提供一两个链接。
  • 可以确认这一点 - 进行了清理并构建并且它有效
  • 关闭项目,重新打开,清理所有项目,它成功了!
【解决方案2】:

我也遇到过同样的问题。我删除了那个 jar 文件,然后右键单击该项目,选择 Maven,然后执行“更新项目...”。再次下载jar,问题就解决了。

【讨论】:

  • 经过多次尝试,找到了一个有效的答案。谢谢!
  • 它对我有帮助,我刚刚删除了这个 jar,然后我看到下载了另一个大小的新文件......很奇怪......
  • 我删除了 jar 文件夹本身。然后,尝试了这个答案,它奏效了。
【解决方案3】:

还有其他情况会显示错误Archive for required library

项目右键打开-->项目项目属性-->java构建路径-->Android私有库

如果有两个同名的 jar 文件,则从库中删除一个。

jar 文件可能会隐藏一些时间 在窗口中打开你的 libs 文件夹并检查是否存在任何隐藏文件 组织 --> 文件夹和搜索选项 --> 查看 --> 勾选显示隐藏文件 和删除隐藏的jar文件,相同的cass如果src和packages中存在隐藏的java文件则删除如果有

【讨论】:

  • 这是我的问题的原因。我之前使用的 mac 已经为项目中的每个文件创建了隐藏文件。谢谢。
  • 这为我指出了类似问题的正确方向。谢谢!
【解决方案4】:

看来每个人都有不同的故事要讲!对我来说,我必须从 eclipse Markers 选项卡中删除错误,然后再次清理项目。在此之前,我按照@rachit 的建议关闭并重新打开了几次项目/eclipse,这对我不起作用。

【讨论】:

  • 谢谢!这也是唯一对我有用的解决方案。还尝试清理,重新打开eclipse并再次下载jar,但没有任何效果。
  • 非常感谢。这也是唯一对我有用的解决方案。我在解决这个问题上浪费了太多时间。你知道为什么会这样吗?
  • 对我来说也一样。嗯有错误信息?只需删除它,它就会解决:) LOL
  • 谢谢!在尝试了其他几个选项之后,这个终于对我有用了。
【解决方案5】:

就我而言,我是从网上下载项目,解压项目后有些文件被屏蔽了,只需解开文件并重试,问题就解决了。

【讨论】:

    【解决方案6】:

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

    【讨论】:

      【解决方案7】:

      在我的情况下,重新启动 Eclipse 并没有解决问题。我重新启动计算机并在eclipse中做了Project -> Clean

      【讨论】:

        【解决方案8】:

        对我有用的解决方案: 转到*.classpath 并删除该行: <classpathentry kind="lib" path="the_problematic_class.java"/>

        【讨论】:

          【解决方案9】:

          也可能是由于损坏的 jar 文件。最好先检查一下,因为这就是我的原因:

           jar tf myjar.jar
          

          应该列出里面的内容。

          【讨论】:

            【解决方案10】:

            我在 Eclipse Mars 中遇到了同样的问题。我从 [https://oss.jfrog.org/webapp/#/artifacts/browse/tree/General/repo/org/ethereum/ethereumj-core/1.0.0-SNAPSHOT][1] 并在目录中替换它。

            在 C:\Users{machineName}.m2\repository\org\ethereum\ethereumj-core\1.0.0-SNAPSHOT\ethereum-core-1.0.0- 使用 pom.xml 添加 ethereum.jar 时出错SNAPSHOT.jar,我在这里添加了下载的jar(ethereum-core-1.0.0-SNAPSHOT.jar),问题解决了。

            【讨论】:

              【解决方案11】:

              我会说,有些答案可能适用于某些情况,但对我来说,有必要加倍努力。因此,我将尝试对可以做的事情做一个总结:

              1. 确认罐子完好无损:

                jar tf myjar.jar

              2. 通过右键单击项目 -> Maven -> 更新项目重新启动 eclipse 和更新项目设置

              3. 对我有用的选项是在工作区文件夹中导航,然后删除文件:

                .metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache .metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache

              之后重启eclipse并重建项目。

              【讨论】:

                【解决方案12】:

                我在任何地方都没有发现重复项,并尝试重新启动 Eclipse,重建项目。我只有一个库出错。所以我只是尝试将jar文件从ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar重命名为ksoap2-2.5.8.jar

                所以如果上面的问题都没有解决,你也可以试试这个

                【讨论】:

                  【解决方案13】:

                  就我而言,java 安装不正确。所以,我卸载了 Java 并重新安装了一个新版本。现在,它可以工作了。

                  【讨论】:

                    【解决方案14】:

                    对我们来说,问题似乎在于 .jar 文件的大小。我建议做以下测试,看看是否是这种情况,或者至少排除它。首先查看 Eclipse 项目中的其他 jar,并将它们与有问题的 jar 进行比较。它比其他的大很多吗?如果是这样,请尝试以下解决方法。否则,这个答案可能对你没有帮助。在开始之前,使用以下命令行命令配置 Windows 以将 .jar 文件视为 .zip 文件:

                    assoc .jar=CompressedFolder(见https://superuser.com/questions/121540/can-you-configure-windows-to-open-jar-files-like-zip-files-without-a-3rd-party-t

                    可选:一个简单的测试

                    在尝试解决方法之前,请先测试一下是否确实是 jar 文件大小让您感到困惑。

                    1. 创建一个大的 .jar,其中包含不在有问题的 jar 中的随机 .class 文件。为此,您可以创建一个充满文件的文件夹,对其进行压缩,然后将 .zip 扩展名重命名为 .jar。 Windows 可能会警告您更改扩展名。忽略这个。确保文件夹中有足够的文件,使其比有问题的 jar 大一点。
                    2. 尝试导入这个人为创建的 jar。如果它失败并出现相同的错误,则可能是大小问题。

                    解决方法

                    如果问题确实是尺寸问题,您可能已经通过上述可选的简单测试确定了问题,您可以尝试以下解决方法。

                    1. 解压缩您的 .jar 文件。您应该可以在 Windows 中轻松完成此操作
                    2. 将您从第 1 步获得的文件夹拆分为较小的子文件夹。它可能只有两个文件夹或更多,具体取决于原始文件的大小。您希望文件夹比您现有的一些“好”罐子小,这样大小就不会成为问题。确保在执行此操作时保持包​​结构完整。
                    3. 压缩您在第 2 步中创建的所有文件夹,并将 .zip 重命名为 .jar。
                    4. 分别导入第 3 步中的所有 .jar。

                    这些步骤可能有点不清楚,所以这里是一个示例。想象一下,您的 jar 文件名为 mylib.jar。您将其解压缩到名为 mylib 的文件夹中。在里面,假设有三个子文件夹,分别称为 package1、package2 和 package3。创建3个文件夹mylib1、mylib2、mylib3,分别放入package1、package2、package3。然后压缩这些文件并将扩展名重命名为 .jar。然后您将导入 mylib1.jar、mylib2.jar 和 mylib3.jar。

                    【讨论】:

                      【解决方案15】:

                      对于 Java Web 应用程序,web.xml 作为 jar 添加到项目中。在项目资源管理器中,尝试在 jar 图标中找到 web.xml 并从项目中删除。错误会消失!!

                      【讨论】:

                        【解决方案16】:

                        尽管在网上寻找解决方案,但我还是被这个问题困扰了好几天。我首先将我的项目移至 Netbeans 并且一切正常。然后我返回到 eclipse->properties->java compile-> Building 并将“Incompartible build path”选项从错误更改为警告,然后进行了 maven 更新并且它工作了。

                        【讨论】:

                          【解决方案17】:

                          我意识到这是一个老问题,但如果这些都不适用于遇到此线程的其他人,我还有另一个解决方案。 我遇到了同样的问题,花了很多时间试图弄清楚,却发现我的 Eclipse 类路径/构建路径中有一个 .json 文件,它不喜欢这样,所以它不会编译。 因此,请检查以确保您的构建路径中没有文本文件或 json 文件等。

                          【讨论】:

                            【解决方案18】:

                            我不小心把 web.xml 放到了构建路径中:x

                            【讨论】:

                              猜你喜欢
                              • 2014-02-01
                              • 2019-01-24
                              • 1970-01-01
                              • 2013-12-27
                              • 2020-03-22
                              • 1970-01-01
                              • 2020-01-26
                              • 2015-04-18
                              • 1970-01-01
                              相关资源
                              最近更新 更多