Eclipse 错误:“无法解析导入 XXX”

Posted

技术标签:

【中文标题】Eclipse 错误:“无法解析导入 XXX”【英文标题】:Eclipse error: "The import XXX cannot be resolved" 【发布时间】:2011-05-18 09:32:42 【问题描述】:

我正在尝试在 Eclipse 中使用 Hibernate。 我正在创建一个新的简单项目,并且我也通过 CVS 下载了一个同事项目。 两者都不起作用,而在我同事的 Eclipse 上起作用。 问题在于,对于 Hibernate 类的每次导入,Eclipse 都会说:

The import org.hibernate cannot be resolved

但是所有的Hibernate jars都在构建路径中,即:

antlr-2.7.6.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar

【问题讨论】:

你是如何在构建路径中添加这些 jar 的? 按属性 > Java 构建路径 > 库 > 添加外部 JAR ***.com/a/16919015/653211 如果它有效但他们现在没有,请参阅下面@dogbane 的答案...... 检查您的导入文件夹中是否有空间。如果有空间,删除空间并将项目导入到 eclipse 中。 【参考方案1】:

就我而言,我导入了一个在同学笔记本电脑上编写的项目,问题是他使用的是 Java 11,而我使用的是 Java 8,所以该项目的构建路径中有 JDK 11,所以我是甚至无法导入 java 类(日期、集合......)。 所以我解决问题的方法是删除JDK11的路径并添加我的JDK8路径。

步骤:

    点击菜单栏上的项目,然后点击属性 选择库选项卡 点击类路径,然后从侧边栏添加库 选择相应的库添加(删除旧的)

【讨论】:

【参考方案2】:

或者在你的module-info.java中,添加:

requires org.hibernate;

【讨论】:

【参考方案3】:

我遇到了类似的问题,这是我在谷歌上搜索答案时出现的第一个问题。

我要做的是在project > properties,转到Java Build Path > Libraries > Modulepath 并将JRE System Library 从(在我的情况下)JavaSE-14 (unbound) 更改为JavaSE-11 (Java SE 11.0.2 [11.0.2])

我认为 JavaSE-14 可能尚未安装或其他原因,因为它说(未绑定),但其余版本在括号内有更长的 Java 版本名称和编号

我希望它对某人有所帮助。

【讨论】:

【参考方案4】:

Eclim + Maven 用户:

    打开项目的.classpath 文件:vim .classpath。 在vim 中,使用:MvnRepo 来初始化Maven Eclim 插件。这将设置M2_REPO。请注意,此步骤 *必须在编辑 .classpath 文件时执行(因此是第 1 步)。 使用:Mvn dependency:resolve 更新依赖项列表。 将.classpath 更新为:Mvn eclipse:eclipse。 保存并退出.classpath:wq。 重启eclim 似乎有帮助。

请注意,步骤 3 和 4 可以在 vim 之外完成,分别使用 mvn dependency:resolvemvn eclipse:eclipse

由于该插件被称为 Eclipse 插件in Eclim’s documentation,我认为此过程也适用于 Eclipse 用户。

【讨论】:

刚刚又遇到了这个问题,似乎在vim 之外运行mvn 效率不高(也就是说,我尝试了几次都没有成功,但它在运行vim 时立即起作用了s :Mvn)。【参考方案5】:

maven 中的第一个更新项目并检查它为我工作的类路径中所需依赖项中的 Jar/depdency

【讨论】:

【参考方案6】:

我在导入语句未解决时遇到了类似问题。我尝试了此讨论中提供的许多解决方案,但没有一个解决了我的问题。我最终弄清楚了我的情况发生了什么,所以我会分享我的发现。

如果您将 jar 添加到构建路径并且该 jar 是 OSGI 包(带有包含 OSGI 标头语句的 MANIFEST.MF 文件的 jar),则在满足所有 Import-Packages 要求之前,您无法从该 jar 导入任何包.发生这种情况的唯一线索是您无法从该捆绑包中导入包,即使看起来该库已正确包含在您的项目构建路径中。仍然需要在编译时满足可选的导入包。允许在运行时缺少可选包。好吧,如果您在 OSGI 框架中使用捆绑包,那肯定是正确的,如果您不在 OSGI 框架中使用捆绑包,我不确定这是否正确。

【讨论】:

你好汤姆,我还没有阅读你的答案,因为它很长。请尝试对其进行总结,或在开头添加摘要,或至少用粗体字突出关键概念。否则没有人会从中受益。希望您能理解,非常感谢! ;) 哦,请确保您要导入的包是在 osgi 标头中导出的包【参考方案7】:

所以通读这个答案,我没有找到适用于使用 Visual Studio Code(VS 代码)的 Java 开发人员的解决方案。

我能够在 VSCode 中修复此问题,但输入 crtl-shift-p 并输入 clean。当我这样做时,我运行了 “Java:清理 Java 语言服务器工作区”命令。这解决了我的依赖问题。

【讨论】:

【参考方案8】:

同时尝试在你的包名前添加main.java

旧包名:com.***.help

试试:main.java.com.***.help

【讨论】:

【参考方案9】:

我的问题是 vscode 在旧的 Python 安装上运行

    手动找到并删除旧安装

    重新安装所需的导入

在此之后,误报导入错误消失了

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review @ItzToxic,这是一个关于 Eclipse 和 Java 的问题。您谈论 vscode 和 Python ......请删除您的答案 ;)【参考方案10】:

就我而言,我有 2k 未解决的导入错误,并且导入是合法的,我可以单击这些导入语句并成功打开相应的类,例如,在尝试了几种解决方案后,

    清理项目, 设置替代 JDK, 重启 Eclipse, Ctrl+Shift+O 在 Eclipse 中组织导入, 我什至认为这是 Eclipse 中的一个错误, 我可以保存 java 源代码,它会消除错误,但在重建它时,所有错误都会回来。

它们都不起作用。

最终,根本原因是,我在 windows 中运行并且项目文件夹具有只读访问权限,我所要做的就是以管理访问权限打开 eclipse,并且在干净构建之后,所有导入均已解决。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案11】:

右击src->新建包:重命名要导入的包,并用包类名新建一个类。 例如,如果导入 net.proteanit.sql.DbUtils;显示导入错误

然后创建一个名为net.proteanit.sql 的新包 并制作类 DbUtils;

package net.proteanit.sql;
public class DbUtils 


【讨论】:

【参考方案12】:

我使用the JPA JAR from Maven repository解决了这个问题,将其添加到项目的构建路径中。

【讨论】:

【参考方案13】:

在类路径而不是模块路径中添加 jar 文件。为我工作。

【讨论】:

【参考方案14】:

对我来说,

项目--->来源--->格式

解决了问题

【讨论】:

【参考方案15】:

如果您在 Eclipse 中开发插件并且使用的是目标平台(我的情况),您需要确保从 Window->Preferences->Plug-in Development->Target 检查目标的平台配置平台并确保您的目标平台已检查和配置。希望这会有所帮助。

【讨论】:

【参考方案16】:

检查您的 POM 文件是否在所有模块中更新为相同版本。

【讨论】:

以上是关于Eclipse 错误:“无法解析导入 XXX”的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 无法删除错误

eclipse运行HelloWorld程序,显示 错误:找不到或无法加载主类

eclipse 错误;找不到或无法加载主类

Eclipse (STS) 欢迎仪表板错误 - 无法看到欢迎仪表板

Eclipse“错误:无法找到或加载主类”

Eclipse 错误:R 无法解析为变量 [重复]