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

Posted

技术标签:

【中文标题】Eclipse 中缺少非必需库的必需库【英文标题】:Missing required library in eclipse for non-required library 【发布时间】:2012-09-27 11:20:42 【问题描述】:

我正在为 Java 开发人员使用 Eclipse(在 Windows 7 上运行的 Juno x64)。

我有一个项目,我正在尝试一个不再需要的 jar (args4j),因此删除了依赖项。在某个时候,我的 PC 意外断电,此后我重新启动了 Eclipse。

我的项目现在有一个错误,"Project 'MyProject' is missing required library: '/path/to/args4j-2.0.21.jar'"。在没有任何问题的情况下删除依赖项后,我正在使用该项目一段时间。

在项目属性 > Java 构建路径下,任何选项卡中都没有对 args4j 的引用。

我试过了:

在我项目的所有文件中搜索字符串“args4j”,但没有匹配项。在<workspace>\.metadata\.plugins\org.eclipse.core.resources\.history\ 中有一堆参考资料,但我不敢碰它们,因为担心我可能会破坏其他东西。 [编辑] 干净重建没有效果。

有谁知道为什么 Eclipse 会抱怨,以及我可以做些什么来解决它?

【问题讨论】:

你尝试过通常的清理/构建吗? Eclipse 通常会错误地突出显示源文件,并且还会在“问题”选项卡中为您提供更多信息 是的,我知道我在描述我所尝试的内容时遗漏了一些内容。我尝试了干净的重建,但没有成功。 【参考方案1】:

请执行以下操作,如果一项不能解决您的问题,请跳至下一项:

    检查项目文件夹中的.classpath 文件。你可能有参考。 关闭并重新打开项目而不关闭 Eclipse,这可能会重建 Eclipse 资源缓存。 重新打开后进行干净的构建。 将您的项目重新导入干净的工作区。

【讨论】:

请尝试关闭并重新打开项目,而不重新启动 Eclipse。这可能会触发 Eclipse 资源的重建。 哇,您的建议完全误读为“尝试重新导入库”。它正在重新导入有效的库。将编辑您的答案。 它正在重新添加和删除为我完成它的问题 jar(这节省了重新配置我的工作区,这会很痛苦)。将您标记为正确答案,因为即使您没有说出来,您也让我朝着正确的方向前进。 感谢 #2 为我工作(我遇到这个问题已经有一段时间了)。重新打开项目以解决相关问题后,我必须进行干净的构建。 从 .classpath 中删除引用对我有用。非常感谢。【参考方案2】:

重新添加有问题的 jar,然后将其删除即可。在我的情况下,这比重新配置整个工作区要好,因为我的工作区中有很多项目和 ADT 配置。

【讨论】:

Hakan Dilek 的回答(第 3 项)为我解决了类似的问题。但这肯定比我什至没有看到的解决方案更努力...... 顺便说一句。没有人回答为什么 Eclipse 会这样做的隐含问题。我没有断电或任何东西,只是在删除库后重新启动了 eclipse (LUNA)。所以,这(仍然)似乎是一个(已知的?)错误。 我同意这可能是一个微妙的错误,也许在 Luna 中。我在周末遇到了这个问题,管理员在 Eclipse 打开的情况下强制重启。【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

DO - mvn eclipse:clean eclipse:eclipse, on project 然后refresh 然后clean project ,将解决这个问题

【讨论】:

这只有在你有一个带有 eclipse 插件的 maven 项目时才有效。它不适用于普通的 Eclipse 或 Gradle 项目。 为我工作!我已经挣扎了2个小时。

以上是关于Eclipse 中缺少非必需库的必需库的主要内容,如果未能解决你的问题,请参考以下文章

Swift 应用程序:导入静态库的框架时“缺少必需的模块”

Swift 和 Cocoapods - 缺少必需的模块

TypeError: fit() 缺少 1 个必需的位置参数:'y',

创建大量非必需项目引用的NuGet包

如何解决 Eclipse中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型

缺少带有 ID 的必需视图。我有啥错?