Eclipse中缺少非必需库的必需库。

41

我正在使用Eclipse for Java Developers(Juno x64,在Windows 7上运行)。

我有一个项目,最近试用了一个不再需要的jar包(args4j),所以已经删除了该依赖项。某个时候,我的电脑意外断电,然后我重启了Eclipse。

现在我的项目出现了一个错误:"Project 'MyProject' is missing required library: '/path/to/args4j-2.0.21.jar'"。在删除该依赖项后,我曾经持续一段时间与该项目一起工作而没有任何问题。

在项目属性 > Java Build Path下,在任何选项卡中都没有引用args4j。

我尝试过:

  • 在项目中的所有文件中搜索字符串“args4j”,但没有匹配项。 在<workspace>\.metadata\.plugins\org.eclipse.core.resources\.history\中有许多引用,但我不敢轻易更改它们,因为我担心会破坏其他内容。
  • [编辑]清除并重新构建没有效果。

是否有人知道为什么Eclipse会抱怨,并且我该如何修复它?


你尝试过常规的清理/构建吗?往往Eclipse会突出显示错误的源文件,并在“问题”选项卡中提供更多信息。 - Germann Arlington
是的,我知道在我描述我尝试过的事情时漏掉了一些东西。我已经尝试了干净的重建,但没有成功。 - Martin
5个回答

79

请按照以下步骤操作,如果一个步骤不能解决您的问题,请跳过它并执行下一个步骤:

  1. 检查项目文件夹中的 .classpath 文件。您可能在其中引用了某些东西。
  2. 不要关闭 Eclipse,关闭并重新打开项目,这可能会重新构建 Eclipse 资源缓存。
  3. 重新打开后进行清理构建。
  4. 将您的项目重新导入到一个干净的工作区。

2
请尝试关闭并重新打开项目,而不是重启Eclipse。这可能会触发Eclipse资源的重建。 - Hakan Dilek
1
哇,完全把你的建议误读成“尝试重新导入库”。重新导入库才起作用。我会编辑你的答案。 - Martin
2
对我来说,重新添加和删除问题的jar文件解决了这个问题(这样就省去了重新配置我的工作区的烦恼)。我标记你为正确答案,因为即使你没有直接说出来,但你让我朝着正确的方向前进。 - Martin
2
谢谢,#2 对我有用(我一直遇到这个问题)。在重新打开项目后,我必须进行干净的构建以解决相关问题。 - wbdarby
1
#2 关闭并重新打开项目,然后进行清理也对我有用。 - user1169587
显示剩余7条评论

12
重新添加有问题的 jar 文件,然后将其删除即可解决问题。在我的情况下,这比重新配置整个工作区更好,因为我有很多项目,并且 ADT 在我的工作区中进行了配置。

重新添加有问题的 jar 文件,然后将其删除即可解决问题。在我的情况下,这比重新配置整个工作区更好,因为我有很多项目,并且 ADT 在我的工作区中进行了配置。


Hakan Dilek的答案(第3项)对我解决了一个类似的问题。但这肯定比你的解决方案更费力,而且我甚至都没看到它... - lukas.coenig
顺便说一句,没有人回答为什么Eclipse会这样做的隐含问题。我没有遭遇过电力损失或其他任何问题,只是在删除库后重新启动了Eclipse(LUNA)。因此,这似乎仍然是一个已知的错误。 - lukas.coenig
我认为这可能是一个微妙的bug,也许在Luna中。我在周末遇到了这个问题,当时管理员强制重启时Eclipse还开着。 - user1531971

6

我发现最简单的方法是切换到导航器视图,打开 .factorypath 文件并删除有问题的依赖项。


4
删除.classpath和.project文件,然后将项目重新导入为Maven项目对我起了作用。在初始提交时,将所有Eclipse工作文件(如.classpath)标记为p4ignore或gitignore也可能很有用。

1
执行项目上的 mvn eclipse:clean eclipse:eclipse,然后 refresh 以及 clean 项目即可解决此问题。

只有在具有Eclipse插件的Maven项目中才能使用此功能。它不适用于普通的Eclipse或Gradle项目。 - Hakan Dilek
对我有用!我已经苦苦挣扎了两个小时。 - kamboj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接