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

时间:2010-12-01 09:30:58

标签: java eclipse import jar buildpath

我正在尝试在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

40 个答案:

答案 0 :(得分:256)

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

Project > Clean...

如果这不起作用,请尝试从构建路径中删除jar并再次添加它们。

答案 1 :(得分:19)

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

答案 2 :(得分:18)

显然有些情况下存在一个有效的问题,但Eclipse有时会抛出这个错误。

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

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

更改订单并不能解决问题。 只需touch该文件也可以解决问题(我下次会测试触摸)。

答案 3 :(得分:17)

我发现了问题。这是hibernate3.jar。我不知道为什么它没有从.zip中提取出来,也许腐败。检查jar是否损坏的一种好方法是在Eclipse中的“Project Explorer”中浏览它们的树结构:如果你不能扩展jar节点,那么它可能已经损坏了。我已经看到,当你拖放它们到“Project Explorer”时,它经常出现损坏的包。也许最好在OS环境中移动和复制它们!谢谢你们。

答案 4 :(得分:13)

如果是Maven项目,也请点击 Maven >> 更新项目...(F5)

Update Maven project

答案 5 :(得分:5)

我遇到了问题,类路径以某种方式被破坏了。

右键单击Package explorer中的项目>插件工具>更新classpath ...为我做了

答案 6 :(得分:5)

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

答案 7 :(得分:4)

尝试在项目的构建路径中添加JRE System Library。

答案 8 :(得分:4)

  1. 清洁项目 项目 - >清洁...
  2. 右键单击项目 - > BuildPath - >配置BuildPath - > Libraries选项卡 - >
  3. 双击JRE SYSTEM LIBRARY - >然后选择备用JRE

答案 9 :(得分:1)

我尝试了上面的所有答案,但没有运气。在我的例子中,有一个生成的构建/类文件夹,其中包含一些额外的" .class"文件。我最终去了包浏览器,右键单击项目并选择"刷新"选项,这使得build / classes文件夹可以再次解决问题。

答案 10 :(得分:1)

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

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

答案 11 :(得分:1)

pom.xml

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

然后再次添加依赖项jar(可以执行 Ctrl + Z )。保存。项目将自动生成,您将不会看到该错误。

答案 12 :(得分:1)

在我的情况下,它是Maven存储库中一个损坏的jar。删除存储库中的jar文件,然后让Maven重新下载。

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

答案 13 :(得分:1)

这解决了我的问题。

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

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

3)点击保存

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

5)申请

答案 14 :(得分:1)

有了它,它帮助改变了编译器合规性级别。 由于未知原因,它被设置为1.6,我将其更改为1.8。

在项目级别右键单击项目>属性> Java编译器,在Eclipse中单击菜单Window>偏好> Java>编译器。

答案 15 :(得分:1)

每当遇到此问题时,只需转到Project>清洁,然后选择清除所有项目。它应该得到解决,否则尝试删除这些jar并再次添加它们。最后一件事是尝试重新启动Eclipse。

答案 16 :(得分:1)

我不明白这背后的原因,但这解决了我面临的同样问题。在执行上述解决方案中提到的步骤之前,您可能需要执行这些步骤(清除所有项目并自动构建)。

右击项目 - >属性 - >项目方面 - >选择Java - >应用

答案 17 :(得分:1)

我遇到了同样的问题,因为我添加了一个我创建的jar,在那里我设置了除了类的基本目录之外的打包基目录。 结果,例如java.util.List必须以util.List导入,尽管建议的导入是第一个。

检查引用库下的导入jar,看看它们是否正确导入

答案 18 :(得分:0)

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

答案 19 :(得分:0)

我在导入语句无法解决时遇到了类似的问题。我尝试了本讨论中提供的许多解决方案,但没有一个解决了我的问题。我最终弄清楚了我的案子是怎么回事,所以我将分享发现的事情。

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

答案 20 :(得分:0)

maven中的第一个更新项目,并在对我有用的类路径中的必需依赖项中检查Jar /依赖关系

答案 21 :(得分:0)

我遇到了类似的问题,这是我用Google搜索答案时出现的第一个线程。

我要做的是在project > properties中,转到Java Build Path> Libraries> Modulepath,然后将JRE System LibraryJavaSE-14 (unbound)更改为{{ 1}}到JavaSE-11 (Java SE 11.0.2 [11.0.2])

我认为可能未安装JavaSE-14或某些东西,因为它说(未绑定),但是其余版本的括号中包含更长的Java版本名称和编号

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

答案 22 :(得分:0)

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

requires org.hibernate;

答案 23 :(得分:0)

对于Eclim + Maven用户:

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

请注意,步骤3和4可以分别在vimmvn dependency:resolve的{​​{1}}之外完成。

由于该插件被称为Eclipse插件in Eclim’s documentation,因此我认为此过程也可能对Eclipse用户有效。

答案 24 :(得分:0)

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

步骤:

  1. 单击菜单栏上的项目,然后单击属性
  2. 选择“库”标签
  3. 单击类路径,然后从侧边栏添加库
  4. 选择要添加的相应库(删除较旧的库)

答案 25 :(得分:0)

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

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


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

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

use \Firebase\JWT\JWT;

答案 26 :(得分:0)

Eclipse IDE解决方案

对于我来说,我是通过更正以下两个可能已损坏的文件之一来修复的: .classpath .project

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

答案 27 :(得分:0)

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

然后将其添加为外部库文件夹时,技巧是导航到该文件夹​​,突出显示“ classes”文件夹,然后按“打开”。我以前曾尝试同时添加父文件夹和各个级别的子文件夹,但没有用。

here对此进行了相当多的解释,它表示为

  

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

这里有两个教训,对不起,对不起,我深表歉意。

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

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

答案 28 :(得分:0)

我通过更新项目解决了此问题:右键单击Maven项目,选择Maven-> Update Project->选中“强制更新快照/发布”复选框。

答案 29 :(得分:0)

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

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

答案 30 :(得分:0)

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

答案 31 :(得分:0)

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

答案 32 :(得分:0)

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

答案 33 :(得分:0)

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

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

答案 34 :(得分:0)

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

答案 35 :(得分:0)

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

答案 36 :(得分:-1)

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

答案 37 :(得分:-1)

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

答案 38 :(得分:-2)

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

答案 39 :(得分:-2)

对我来说,

  

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

解决了问题