Eclipse错误:"无法解析导入XXX"。

164

我正在尝试在Eclipse中使用Hibernate。 我创建了一个新的简单项目,并通过CVS下载了一个同事的项目。 但是两者都无法工作,而我的同事在他的Eclipse上可以工作。 问题在于,对于每个导入Hibernate类,Eclipse都会显示:

The import org.hibernate cannot be resolved

但所有的Hibernate jar包都在构建路径中,也就是说:

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

1
你是如何将这些 JAR 包添加到你的构建路径中的? - jmj
3
通过 "属性 > Java构建路径 > 库 > 添加外部JAR包",可以添加外部的JAR包。 - bluish
https://dev59.com/jGQn5IYBdhLWcg3wVF0w#16919015 - Ashwin Krishnamurthy
1
如果以前可以工作但现在不行了,请参考@dogbane的答案... - Shanimal
清理项目对我没有起作用,但是关闭Eclipse并重新打开它的老方法却奏效了。 - Antoine
显示剩余2条评论
47个回答

0
我也无法导入。 花了几个小时才弄清楚,我试图使用一个1.6绑定的库/ jar,而我正在尝试编译1.8。 当我将我的项目也切换到使用1.6时,导入问题就解决了。 所有的错误信息都指向了错误的方向。 只有在源代码中,我发现了一些限制,指向1.6版本。 例如,.settings和.classpath(文件搜索)-> org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 可以提示这样的问题。

0

请尝试检查所有的库是否已经就位。我之前也遇到了同样的问题,但是通过移动库文件夹并在构建路径中再次添加所有的JAR包,我解决了这个问题。


0
如果您正在使用Maven并遇到此问题,请检查存储库服务器(例如nexus服务器),以查看工件是否存在。有时,他们可能会更改工件的名称,而您尝试使用旧名称获取工件。

0

将jar文件添加到类路径而不是模块路径中。这对我有用。


0

首先在Maven中更新项目,并检查所需依赖项的Jar/依赖项是否存在于类路径中,这对我有用。


0

我在导入语句无法解析的问题上遇到了类似的情况。我尝试了讨论中提供的许多解决方案,但没有一个能解决我的问题。最终,我弄清楚了我的情况是发生了什么,所以我将分享我发现的内容。

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


你好Tom,我还没有看到你的回答,因为它太长了。请尝试总结一下,或在开头添加摘要,或者至少用粗体突出关键概念。否则,没有人会从中受益。希望你能理解,非常感谢!;) - bluish
哦,确保你导入的包是在OSGi头文件中被导出的包。 - Tom Rutchik

0

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

  1. 手动查找并删除旧的安装

  2. 重新安装所需的导入

之后,虚假的正向导入错误就消失了


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - briancollins081
@ItzToxic,这是关于Eclipse和Java的问题。你谈到了vscode和Python...请删除你的回答 ;) - bluish

0
通过阅读这个答案,我没有找到适用于在 Visual Studio Code(VS Code)上工作的Java开发人员的解决方案。
我能够在VSCode中通过输入并键入来解决问题。当我这样做时,运行了“Java:清理Java语言服务器工作区”命令。这解决了我的依赖关系问题。

0

还可以尝试在包名之前添加main.java

旧的包名:com.stackoverflow.help

尝试: main.java.com.stackoverflow.help


0
在我的情况下,我有2k个未解决的导入错误,并且这些导入是合法的。我可以点击这些导入语句并成功打开相应的类。尝试了几种解决方案,例如:
  1. 清理项目,
  2. 设置备用JDK,
  3. 重新启动eclipse,
  4. 在eclipse中使用Ctrl+Shift+O组织导入,
  5. 我甚至认为这是eclipse的一个bug,
  6. 我可以保存Java源代码,它会消除错误,但重新构建后,所有错误都会回来。
但是,这些方法都没有奏效。
最终,根本原因是我在Windows上运行,并且项目文件夹具有只读访问权限,我所要做的就是以管理员身份打开eclipse,然后进行清理构建,所有导入都得到了解决。

1
你的答案可以通过添加更多支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便其他人可以确认你的答案是正确的。你可以在帮助中心找到关于如何编写良好答案的更多信息。 - MD. RAKIB HASAN

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