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


135

我正在尝试在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?
Jigar Joshi 2010年

3
通过“属性”>“ Java构建路径”>“库”>“添加外部JAR
蓝蓝


1
如果它有效并且现在不起作用,请参阅下面的
@dogbane

检查导入文件夹中是否有空间。如果有空格,请删除该空格并将项目导入到Eclipse中。
schin chan

Answers:


283

尝试通过转到以下菜单项来清洁项目:

Project > Clean...

如果那不起作用,请尝试从构建路径中删除jar,然后再次添加。


5
可能是JRE问题。尝试在项目属性中选择一个“备用JRE”。
dogbane 2010年

10
清洁也为我工作。究竟发生了什么(一切突然变得疯狂),清洁将如何提供帮助?
Sabre Runner 2013年

1
这也为我解决了问题;它不是一个休眠项目,而是一个libGdx项目,它调用我的Java导入而不是jar。@SabreRunner也有同样的疑问,而且:环境工具中某处存在错误?
扎克2014年

3
也为我工作。当上下文帮助菜单正在查找您的班级并在标记为“无法解决”且没有错误的输入上方手动键入相同的导入内容时,它非常令人沮丧……
Shanimal 2016年

1
这种方式对我来说没有帮助。我的Eclipse版本是:Neon.3 Release(4.6.3)
Timothy.Li

27

显然,在某些情况下存在有效的问题,但是Eclipse有时没有充分的理由抛出此错误。

仍然(2019-03)是一个古老的(2010)Eclipse错误,可以通过对项目设置进行微不足道的更改来解决。

我选择更改的设置是:项目>属性> Java构建路径>订单和导出>进行无意义的订单更改>应用。

改回订单不会退回到该问题。只需触摸文件也可以解决问题(下次我将测试触摸)。


1
“文件”>“属性”应更改为“项目”>“属性”。
Timothy.Li

这种方式对我来说没有帮助。我的Eclipse版本是:Neon.3 Release(4.6.3)
Timothy.Li,

对我而言,JRE系统库必须位于“构建路径”的“订单和导出”选项卡中的Maven依赖关系之上。
安东尼·海沃德

2
该错误至少已经存在9年了。
user1133275 '19

它仍然在那里,2019年11月。
Tullochgorum,

22

清理项目。并再次检查jar确实在构建路径上(没有错误)。还要确保“问题”视图中没有任何内容。


我已经尝试过一次以上:使用单个jar,在库中,...似乎是一个奇怪的错误!
蓝蓝的2010年

1
问题视图中有什么吗?
博佐2010年

只有我告诉过的问题和类型为“可序列化的类Azienda不会声明类型为long的静态最终serialVersionUID字段”的警告。
蓝蓝的2010年

18

我发现了问题。那是hibernate3.jar。我不知道为什么它不能从.zip中正确提取,甚至可能已损坏。检查jar是否损坏的一种好方法是在Eclipse的“项目资源管理器”中浏览它们的树结构:如果无法扩展jar节点,则可能是损坏的。我已经看到有损坏的程序包是很常见的,当您将其拖放到“ Project Explorer”中时。也许最好在OS环境中移动和复制它们!谢谢你们。


17

如果是Maven项目,则还单击Maven >> 更新项目...(F5)

更新Maven项目


如果将maven项目导入为“ Java项目”,则会出现此问题。按照您所说的将项目转换为maven项目并进行更新,然后问题就消失了。
kodmanyagha

8

我通过删除项目(不要在磁盘上删除)并再次导入来解决它。


8
  1. 清洁项目项目->清洁...
  2. 右键单击项目-> BuildPath->配置BuildPath->“库”选项卡->

双击JRE SYSTEM LIBRARY->然后选择备用JRE


6

我有一个问题,就是类路径以某种方式被破坏了。

因此,右键单击Package Explorer>插件工具> Update classpath ...中的项目对我有用


在Neon.3版本(4.6.3)中,通过右键单击Package Explorer
Timothy.Li中



3

与我一起,它有助于更改编译器的遵从性级别。由于未知原因,它设置为1.6,而我将其更改为1.8。

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


3

我尝试了以上所有答案,但没有运气。就我而言,有一个生成的build / classes文件夹,其中包含一些其他“ .class”文件。我最终转到包资源管理器,右键单击该项目,然后选择“刷新”选项,这使得build / classes文件夹再次可用,从而解决了该问题。


3

这解决了我的问题。

1)清理项目Project-> clean ...

2)右键单击项目-> BuildPath->配置BuildPath->库选项卡->双击JRE SYSTEM LIBRARY->然后选择备用JRE

3)点击保存

4)再次在项目资源管理器中转到您的项目,然后右键单击项目-> BuildPath->配置BuildPath->库选项卡->双击JRE SYSTEM LIBRARY->这次选择“执行环境”

5)申请


2

就我而言,它是Maven存储库中一个损坏的jar。删除存储库中的jar文件,然后让Maven重新下载它们。

当我mvn clean install从命令行运行时,它运行良好,但是Eclipse仍然无法编译代码。当我maven install在Eclipse中运行时,我看到Maven抱怨jar文件损坏。因此,我将其删除并maven install再次运行。问题消失了。


2

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


2

删除“ module-info.java”确实为我解决了该问题!

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


1

我遇到了同样的问题,因为我添加了我创建的jar,在其中我设置了包装基本目录,而不是类的基本目录。结果,例如java.util.List必须将类导入,util.List尽管建议的导入是第一个。

检查引用库下的导入的jar,以确保它们已正确导入


1

我不了解其背后的原因,但这解决了我面临的相同问题。您可能需要执行以下步骤才能执行上述解决方案中提到的步骤(自动清除所有项目并自动生成)。

右键单击项目->属性->项目构面->选择Java->应用



1

pom.xml

如果是Maven项目,请转到pom.xml并删除所有依赖项jar。保存。项目将自动生成。

然后再次添加依赖罐(您可以执行Ctrl+ Z)。保存。专案将自动建立,您不会看到这个错误。


1

在您的POM.XML中删除依赖项,然后下载jar并将其添加到buildpath中。

有时-> maven不会反映新的变化,这可能会导致这种问题


0

请尝试检查所有的库是否都到位。我遇到过同样的问题。但是我通过移动lib文件夹并在构建路径中再次添加所有jar解决了该问题。


0

我遇到了同样的问题。我下载了jar并将其添加到构建路径,但是我没有注意到扩展名是.jar.zip。我再次将其转换为.jar并添加到了构建路径。

它解决了我的问题。这是一个非常愚蠢的错误,但是我在这里写了它,以防它可以帮助某人。


0

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


0

通过链接源解决。在资源管理器中,右键单击项目,选择属性,选择Java Build Path,从选项卡中选择Source,然后按“ LinkSource”按钮。并指定要添加到项目的文件夹。


0

我也无法导入。花了我几个小时才弄清楚,当我尝试为1.8进行编译时,我尝试使用1.6绑定库/ jar。当我也将项目切换为使用1.6时,导入问题就消失了。所有错误消息均指向错误的方向。仅在源代码中,我发现了针对1.6版本的一些限制。并且:例如,.settings和.classpath(文件搜索)-> org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.6可以提供有关此类问题的提示。


0

我遇到了同样的问题,并通过移除一个jar来解决了这个问题,该jar在pom.xml的两个不同依赖项中两次添加。删除其中一个依赖项可以解决此问题。


0

对我来说,我似乎在添加错误级别的库文件夹。我下载了Jericho HTML Parser,将其解压缩到 eclipse-workspace/libraries/jericho-html-3.4/

然后,当将其添加为外部库文件夹时,诀窍是导航到该文件夹​​,突出显示“ classes”文件夹,然后按Open。我以前曾尝试同时添加父文件夹和各个级别的子文件夹,但是它不起作用。

这是相当多解释在这里,它说

您还可以添加一个类文件夹,该目录包含一个不在JAR中的Java类文件的目录。

对于我来说,这里有两个经验教训,如果这些主题不对,请您道歉:

  1. 仔细阅读说明-逐字!

  2. 不要放弃-这是我第一次添加图书馆,我花了大约两个小时才将其添加。


0

Eclipse IDE解决方案

就我而言,我通过更正以下两个可能损坏的文件之一来解决它:.classpath.project

要修复任何损坏的文件,您可以从另一个有问题的.project文件或.classpath文件的项目中复制,并且没有错误。但是请确保不要添加将不会使用的其他设置。


0

[ 代码点火器框架] [ 导入库 ]

尝试在“项目资源管理器”视图中右键单击该项目,选择“ 刷新”。所有错误标记都出乎我的意料。


我不擅长Eclipse。我开始使用Android Studio开发Android。但是,令人讨厌的是,红色错误标记始终徘徊,而整个项目仍然运行良好。当我使用作曲家这样导入库时,这件事发生了:

require __DIR__ . '/../../vendor/autoload.php';

use \Firebase\JWT\JWT;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.