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个回答

5

对我来说,改变编译器兼容级别是有帮助的。出于未知原因,它被设置为1.6,我将其更改为1.8。

在项目级别上右键单击项目 > 属性 > Java编译器,在Eclipse中点击菜单窗口 > 首选项 > Java > 编译器。


这对我解决了问题。对我来说它被设置为15。但是该项目是按照兼容性级别1.8构建的。 - GaidinD

5
尝试将 JRE 系统库添加到您的项目的构建路径中。

3

我尝试了以上所有答案,但没有成功。在我的情况下,有一个生成的build/classes文件夹,里面有一些额外的“.class”文件。最终,我转到包资源管理器,在项目上右键单击,选择“刷新”选项,这样就使得build/classes文件夹再次可用,解决了问题。


2
在我的情况下,这是Maven存储库中的一个损坏的jar文件。删除存储库中的jar文件,让Maven重新下载它们。
当我在命令行上运行"mvn clean install"时,它运行得很好,但Eclipse仍然无法编译代码。当我在Eclipse中运行"maven install"时,我发现Maven抱怨有一个坏的jar文件。所以我删除了它,再次运行"maven install",问题就解决了。

2
为了在您的.m2目录中下载不存在的jar文件,您应该为您的项目pom.xml运行mvn clean install命令。然后,您应该通过点击Alt+F5来更新项目依赖项。这对我很有效!

2

删除"module-info.java"文件解决了我的问题!

这个文件是自动生成的,并出现在我的层次结构中...


2

pom.xml

如果这是一个Maven项目,请转到pom.xml并删除所有依赖的jar包。保存它。项目将自动构建。
然后再次添加依赖的jar包(您可以使用Ctrl+Z)。保存它。项目将自动构建,您就不会看到那个错误了。

1

Eclipse IDE的解决方案

在我的情况下,我通过纠正可能损坏的这两个文件之一来修复它:.classpath.project

要修复任何受损的文件,您可以从另一个具有所需.project文件或.classpath文件且没有错误的项目中复制。但请确保不要添加不会被使用的额外设置。


1
每当你遇到这个问题时,只需转到“项目”>“清理”,然后选择“清理所有项目”。它应该得到解决,否则尝试删除那些JAR文件并再次添加它们。最后一个方法是尝试重新启动Eclipse。

1
我不明白这背后的原因,但这解决了我面临的相同问题。在执行上述解决方案之前,您可能需要执行以下步骤(清理所有项目并自动构建)。
右键单击项目 -> 属性 -> 项目面板 -> 选择Java -> 应用

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