29

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

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

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

    资源 --> TicTacToe

    路径位置 --> 构建路径

    类型 --> 构建路径问题

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

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

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

4

18 回答 18

49

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

于 2013-10-22T19:03:20.800 回答
22

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

于 2013-12-03T19:35:56.660 回答
10

还有其他情况会显示 所需库的错误存档

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

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

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

于 2013-11-22T07:09:39.280 回答
6

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

于 2016-02-29T23:39:50.927 回答
1

在我的情况下,我从互联网上下载了项目,解压缩项目后一些文件被阻止,只需取消阻止文件并重试,然后问题就解决了。

于 2014-06-04T07:13:12.473 回答
1

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

于 2014-06-08T11:53:57.447 回答
1

就我而言,重新启动 Eclipse 并没有解决问题。我重新启动计算机并Project -> Clean在eclipse中做了一个

于 2014-09-03T10:45:00.947 回答
1

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

于 2016-02-14T12:20:32.623 回答
1

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

 jar tf myjar.jar

应该列出里面的内容。

于 2016-05-19T06:51:00.387 回答
1

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

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

于 2016-12-19T07:46:06.883 回答
1

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

  1. 验证罐子是否完好无损:

    jar tf myjar.jar

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

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

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

之后重新启动eclipse并重建项目。

于 2018-01-29T17:36:50.517 回答
0

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

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

于 2014-08-21T06:34:09.690 回答
0

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

于 2016-05-20T04:59:56.777 回答
0

对我们来说,问题似乎在于 .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. 创建一个充满随机 .class 文件的大型 .jar,这些文件不在有问题的 jar 中。为此,您可以创建一个充满文件的文件夹,对其进行压缩,然后将 .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。

于 2016-06-30T13:24:21.387 回答
0

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

于 2017-09-22T10:23:38.820 回答
0

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

于 2018-07-13T09:45:55.700 回答
0

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

于 2020-08-14T19:44:28.193 回答
0

我不小心将 web.xml 放入构建路径:x

于 2020-09-03T13:20:26.650 回答