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:resolve
和 mvn 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运行HelloWorld程序,显示 错误:找不到或无法加载主类