154

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

46 回答 46

301

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

Project > Clean...

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

于 2010-12-01T09:39:00.963 回答
34

显然,在某些情况下存在有效问题,但 Eclipse 有时会无缘无故地抛出此错误。这仍然是(在 v 2020-09 中)一个旧的 (2010) Eclipse 错误,可以通过对项目设置进行微不足道的更改来解决。

touch .classpath

解决问题,或转到项目 > 属性 > Java 构建路径 > 订单和导出 > 进行无意义的订单更改 > 应用。改回订单并不会回归问题。

于 2016-07-15T20:55:29.220 回答
22

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

于 2010-12-01T09:38:20.013 回答
21

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

更新 Maven 项目

于 2016-12-14T07:56:28.373 回答
17

我发现了问题。这是hibernate3.jar。我不知道为什么它没有从 .zip 中很好地提取出来,可能是损坏的。检查 jar 是否损坏的一个好方法是在 Eclipse 的“项目资源管理器”中浏览它们的树结构:如果您无法扩展 jar 节点,则可能它已损坏。我已经看到,当您将它们拖放到“项目资源管理器”时,经常会出现损坏的包。也许在操作系统环境中移动和复制它们会更好!谢谢你们。

于 2010-12-01T10:26:27.997 回答
9

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

于 2015-05-28T07:46:37.310 回答
9
  1. 清理项目项目 - >清理...
  2. 右键项目->BuildPath->Configure BuildPath->Libraries tab->

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

于 2018-01-22T12:18:31.613 回答
9

这解决了我的问题。

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

2) 右键单击​​项目 -> BuildPath -> Configure BuildPath -> Libraries 选项卡 -> 双击 JRE SYSTEM LIBRARY -> 然后选择备用 JRE

3) 点击保存

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

5) 申请

于 2018-08-23T19:04:35.373 回答
7

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

所以右键单击包资源管理器中的项目>插件工具>更新类路径...为我做了

于 2012-06-22T07:51:03.847 回答
6

我通过更新项目解决了这个问题:右键单击 Maven 项目,选择 Maven -> 更新项目 -> 选择复选框 Force Updates of Snapshots/Releases。

于 2019-07-26T08:41:20.780 回答
5

尝试在项目的构建路径中添加 JRE 系统库。

于 2013-06-19T07:39:20.257 回答
5

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

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

于 2017-08-01T12:46:29.570 回答
3

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

于 2018-02-21T19:28:52.740 回答
2

就我而言,它是 Maven 存储库中的一个损坏的 jar。删除存储库中的 jar 文件并让 Maven 再次下载它们。

当我mvn clean install从命令行运行时,它运行良好,但 Eclipse 仍然无法编译代码。当我maven install在 Eclipse 中运行时,我看到 Maven 抱怨错误的 jar 文件。所以我删除了它并maven install再次运行。问题消失了。

于 2018-08-24T09:28:17.780 回答
2

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

于 2019-01-15T10:46:10.423 回答
2

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

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

于 2019-04-04T15:46:02.323 回答
1

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

检查引用的库下导入的 jar 是否正确导入

于 2012-10-25T10:04:51.687 回答
1

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

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

于 2016-07-08T16:26:16.510 回答
1

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

于 2016-12-28T18:33:19.263 回答
1

pom.xml

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

然后再次添加依赖罐(你可以做Ctrl+ Z)。保存。项目将自动构建,您不会看到该错误。

于 2019-08-28T06:39:26.370 回答
1

Eclipse IDE 解决方案

就我而言,我通过更正这两个可能损坏的文件之一来修复它:.classpath.project

要修复任何损坏的文件,您可以从另一个具有.project文件或.classpath文件且没有错误的项目复制。但请务必不要添加不会使用的其他设置。

于 2019-11-25T14:08:03.710 回答
1

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

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

于 2020-01-30T13:50:00.413 回答
0

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

于 2014-03-11T09:35:43.303 回答
0

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

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

于 2014-09-18T05:12:01.593 回答
0

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

于 2016-05-10T10:15:43.280 回答
0

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

于 2017-07-19T14:47:55.123 回答
0

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

于 2018-10-27T12:13:57.550 回答
0

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

于 2018-12-20T18:20:23.610 回答
0

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

然后,当将此添加为外部库文件夹时,诀窍是导航到该文件夹​​,突出显示“类”文件夹并按打开。我之前曾尝试添加父文件夹和各个级别的子文件夹,但没有成功。

在这里解释得差不多了,它说

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

我在这里学到了两个教训,如果这些是题外话,我深表歉意:

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

  2. 不要放弃 - 这是我第一次添加库时,我花了大约两个小时才添加它。

于 2019-11-19T00:55:47.873 回答
0

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

尝试在 Project Explorer 视图中右键单击项目,选择refresh。我的情况出乎意料地消失了所有错误标记。


我不擅长 Eclipse。我开始使用 Android Studio 开发 Android。但是,看到红色错误标记一直悬停而整个项目仍然可以正常工作,这很烦人。当我使用 composer 像这样导入库时,它发生在我身上:

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

use \Firebase\JWT\JWT;
于 2020-02-10T07:41:45.187 回答
0

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

脚步:

  1. 单击菜单栏上的项目,然后单击属性
  2. 选择库选项卡
  3. 单击类路径,然后从侧边栏中添加库
  4. 选择相应的库添加(删除旧的)
于 2020-02-11T20:55:43.437 回答
0

对于Eclim + Maven用户:

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

请注意,步骤 3 和 4 可以分别在vimmvn dependency:resolve和之外完成mvn eclipse:eclipse

由于该插件在 Eclim 的文档中被称为 Eclipse 插件,因此我假设此过程也适用于 Eclipse 用户。

于 2020-06-23T15:59:08.853 回答
0

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

requires org.hibernate;
于 2020-06-29T15:30:11.320 回答
0

我有一个类似的问题,这是我在谷歌上搜索答案时出现的第一个线程。

我必须做的是project > properties,转到Java Build Path>>并从(在我的情况下)Libraries更改为.ModulepathJRE System LibraryJavaSE-14 (unbound)JavaSE-11 (Java SE 11.0.2 [11.0.2])

我认为 JavaSE-14 可能尚未安装或其他原因,因为它说(未绑定),但其余版本在括号内有更长的 Java 版本名称和编号

我希望它可以帮助某人。

于 2020-07-02T19:50:20.707 回答
0

首先在 maven 中更新项目并检查它为我工作的类路径中所需依赖项中的 Jar/depdency

于 2020-10-23T03:34:01.250 回答
0

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

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

于 2020-12-02T19:26:44.130 回答
0

因此,通读这个答案,我没有找到适用于使用 Visual Studio Code(VS 代码)的 Java 开发人员的解决方案。

我能够在 VSCode 中修复此问题,但输入crtl-shift-p并输入clean. 当我这样做时,我运行了“Java:清洁 Java 语言服务器工作区”命令。这解决了我的依赖问题。

于 2021-10-05T14:42:51.303 回答
0

也尝试main.java在您的包名称之前添加

旧包名称:com.stackoverflow.help

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

于 2021-10-12T07:36:49.903 回答
0

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

  1. 手动找到并删除旧安装

  2. 重新安装所需的导入

在此之后,误报导入错误消失了

于 2021-11-18T02:20:23.353 回答
0

就我而言,我有 2k 未解决的导入错误,并且导入是合法的,我可以单击这些导入语句并在尝试了几种解决方案后成功打开相应的类,例如,

  1. 清洁工程,
  2. 设置替代JDK,
  3. 重启日食,
  4. Ctrl+Shift+O 在eclipse中组织导入,
  5. 我什至认为这是eclipse中的一个错误,
  6. 我可以保存 java 源代码,它会消除错误,但在重建它时,所有错误都会回来。

他们都没有工作。

最终,根本原因是,我在 windows 中运行并且项目文件夹具有只读访问权限,我所要做的就是以管理访问权限打开 eclipse,并且在干净构建之后,所有导入都已解决。

于 2021-11-30T05:43:06.893 回答
0

右键单击src->new package:重命名要导入的包并使用包类名称创建一个新类。
例如,如果导入 net.proteanit.sql.DbUtils; 显示导入错误

然后使用名称创建一个新包net.proteanit.sql 并创建类 DbUtils;

package net.proteanit.sql;
public class DbUtils {

}
于 2021-12-05T04:09:16.610 回答
-1

我使用来自 Maven 存储库的 JPA JAR解决了这个问题,并将其添加到项目的构建路径中。

于 2016-04-08T21:47:24.367 回答
-1

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

于 2020-10-10T13:36:13.277 回答
-2

为了我,

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

解决了问题

于 2015-07-16T09:06:56.647 回答
-2

如果您在 Eclipse 中开发插件并且使用的是目标平台(我的情况),您需要确保从 Window->Preferences->Plug-in Development->Target Platform 检查目标的平台配置并制作确保您的目标平台已检查和配置。希望这可以帮助。

于 2016-10-19T08:47:47.293 回答
-3

检查您的POM文件是否在所有模块中更新为相同版本。

于 2017-02-20T10:34:02.380 回答