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

我正在 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
504695 次浏览

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

试着通过下面的菜单项来清理你的项目:

Project > Clean...

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

我找到问题所在了。是冬眠3.jar。我不知道为什么它没有很好地从。零,也许是 腐败。检查 jar 是否已损坏的一个好方法是在 Eclipse 的“ Project Explorer”中通过它们的树结构导航: 如果不能展开 jar 节点,那么它可能已损坏。我已经看到,有损坏的包是频繁的,当你 拖放他们的“项目资源管理器”。也许在操作系统环境中移动和复制它们更好!谢谢大家。

我遇到了问题,类路径不知怎么地被破坏了。

因此,右键单击 Package Explorer > Plug-in tools > Update classspath 中的项目... 就可以了

我也有同样的问题,因为我添加了一个我创建的 jar,我在其中设置了打包基目录,而不是类的基目录。 因此,虽然建议的导入是第一个,但类(例如 java.util.List)必须作为 util.List导入。

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

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

请试着检查一下是否所有的读数都正确。我也有同样的问题。但是我通过移动 lib 文件夹并在构建路径中再次添加所有 jar 来解决这个问题。

我也有同样的问题。我下载了 jar 并将其添加到构建路径中,但是我没有注意到扩展。Jar.zip.我又把它转换成了。Jar 并添加到构建路径中。

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

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

对我来说,

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

解决了问题

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

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

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

右键单击 Project-> Properties-> Project Facets-> select Java-> Apply

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

touch .classpath

解决这个问题,或者转到 Project > Properties > Java Build Path > Order and Export > make a nothing Order change > Apply。将订单更改回来不会回到问题。

如果你正在 Eclipse 中开发插件,并且你正在使用一个目标平台(这是我的情况) ,你需要确保你从 Window-> Preferences-> Plug-in Development-> Target Platform 中检查目标平台的配置,并确保你的目标平台已经被检查和配置。希望这个能帮上忙。

如果是 Maven 项目,也可以单击 玛文 > > 更新项目... (F5)

Update Maven project

无论何时遇到这个问题,只需转到 Project > Clean,然后选择 Clean all Project。它应该得到解决,否则尝试删除这些罐子,并再次添加它们。最后一件事是尝试重新启动 Eclipse。

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

通过链接源解析。从浏览器中右键单击项目,选择属性,选择 JavaBuildPath,从选项卡中选择 Source,按下“ LinkSource”按钮。并指定要添加到项目中的文件夹。

对我来说,它帮助了 更改编译器遵从性级别。 不知什么原因,它被设置为1.6,我把它改成了1.8。

在项目级右键单击 project > Properties > Java Compiler,而在 Eclipse 中单击 menu Window > Preferences > Java > Compiler。

  1. 清洁工程 项目-> 清洁..。
  2. 右键单击 project-> BuildPath-> ConfigureBuildPath-> Library tab->

双击 JRE 系统库-> ,然后选择备用 JRE

我试了上面所有的答案,但都没有用。在我的例子中,有一个生成的 build/classes 文件夹,其中包含一些附加内容”。类别」档案。最后,我转到包浏览器,右键单击项目并选择“ Refresh”选项,这使得 build/classes 文件夹可用,从而再次解决了这个问题。

这解决了我的问题。

1)清洁工程项目-> 清洁..。

2)右键单击 project-> BuildPath-> ConfigureBuildPath-> Library tab-> 双击 JRE 系统库-> ,然后选择备用 JRE

3)按保存

4)再次转到项目资源管理器中的项目,右键单击 project-> BuildPath-> ConfigureBuildPath-> Library 选项卡-> 双击 JRE SYSTEM LIBRARY-> 这次选择“ Execution Environment”

5)申请

对我来说,它是 Maven 存储库中的一个破罐子。删除存储库中的 jar 文件,让 Maven 再次下载它们。

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

我也不能进口。 我花了几个小时才弄明白,我试图使用1.6绑定的库/jar,而我试图编译为1.8。 当我将我的项目也切换到使用1.6时,导入问题就消失了。 所有的错误消息都指向了错误的方向。 只是在源代码中,我发现了1.6版本的一些限制。 还有: 例如. sets 和. classspath (File-Search)-> org.eclipse.jdt.core.comper.codegen.targetPlatform = 1.6 可以在这些问题上给出一些提示。

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

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

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

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

我通过更新这个项目解决了这个问题: 右键单击 Maven 项目,选择 Maven-> Update Project-> select 复选框 Force Update of Snapshot/release。

pom.xml

如果是 Maven 项目,转到 pom.xml 并删除所有依赖项 jar。

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

对我来说,我似乎添加了错误的层次的图书馆的文件夹。 我下载了 Jericho HTML 解析器解压到 eclipse-workspace/libraries/jericho-html-3.4/

然后,当添加这作为一个外部库文件夹,技巧是导航到该文件夹,突出显示“类”文件夹,并按打开。我以前试过同时添加父文件夹和不同级别的子文件夹,但是没有用。

这几乎可以解释 给你,它说

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

我从中学到了两个教训,如果这些话题偏离了主题,我道歉:

  1. 仔细阅读说明书-就像逐字逐句阅读一样!

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

Eclipse IDE 解决方案

在我的例子中,我通过纠正这两个可能损坏的文件中的一个来修复它: 。类路径。项目

若要修复任何损坏的文件,您可以从另一个同时具有 。项目文件或 。类路径文件且无错误的项目进行复制。但请确保不要添加将不会使用的其他设置。

删除 POM.XML 中的依赖项,下载 jar 并将其添加到构建路径中。

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

[ 密码点火器帧工作][ 导入库]

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


我不擅长日食。我开始使用 Android Studio 来开发 Android。但是,当整个项目仍然运行良好时,看到红色的错误标记一直悬浮在空中,这是令人恼火的。当我使用作曲家导入类似这样的库时,它发生在我身上:

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


use \Firebase\JWT\JWT;

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

步骤:

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

对于 埃里姆 + 玛文用户:

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

注意,步骤3和4可以在 vim之外完成,分别使用 mvn dependency:resolvemvn eclipse:eclipse

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

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

requires org.hibernate;

我也遇到过类似的问题,这是我在谷歌上搜索答案时出现的第一个帖子。

我需要做的是在 project > properties中,转到 Java Build Path > Libraries > Modulepath,并将 JRE System Library从(在我的例子中) JavaSE-14 (unbound)改为 JavaSE-11 (Java SE 11.0.2 [11.0.2])

我认为 JavaSE-14可能没有被安装或者其他什么原因,因为它说(未绑定) ,但是其余的版本有一个更长的 Java 版本名称和括号内的数字

我希望能帮到别人。

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

第一个更新项目在 maven 和检查罐/依赖在所需的依赖类路径它为我工作

我在一个没有解决的 import 语句上遇到了类似的问题。我尝试了这个讨论中提供的许多解决方案,但没有一个能解决我的问题。我最终弄明白了我的案子里到底发生了什么,所以我要分享一下我的发现。

如果您在构建路径中添加了一个 jar,而这个 jar 是一个 OSGI 包(一个带有包含 OSGI 头语句的 MANIFEST.MF 文件的 jar) ,那么在满足所有 Import-Packages 要求之前,您不能从这个 jar 中导入任何包。发生这种情况的唯一线索是,您无法从该包导入包,即使该库看起来正确地包含在您的项目构建路径中。可选的导入包仍然需要在编译时得到满足。允许在运行时丢失可选包。如果您在 OSGI 框架中使用 bundle,那么这是肯定正确的,但如果您不在 OSGI 框架中使用 bundle,我不确定这是否正确。

因此,通读这个答案,我并没有找到一个 Java 开发人员使用 VisualStudioCode (VS 代码)的解决方案。

我能够得到这个固定在 VSCode 但输入 crtl-shift-p和键入 clean。当我这样做,我运行 “ Java: 清洁 Java 语言服务器工作区”命令。这修复了我的依赖性问题。

还要尝试在包名称前添加 main.java

旧包裹名称: com.stackoverflow.help

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

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

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

  2. 重新安装所需的导入

在此之后,假阳性导入错误消失了

在我的例子中,我有2k 个未解决的导入错误,导入是合法的,我可以点击那些导入语句并成功地打开相应的类,在尝试了几种解决方案之后,例如,

  1. 清洁工程,
  2. 建立另一个 JDK,
  3. 重新开始日食,
  4. 在 eclipse 中组织导入,
  5. 我甚至以为是日食时的虫子,
  6. 我可以保存 Java 源代码,它可以消除错误,但是重新构建后,所有的错误都会返回来。

都没用。

最终,根本原因是,我在 windows 中运行,项目文件夹具有只读访问权限,所有我必须做的就是 通过管理访问打开 Eclipse,在干净构建之后,所有导入都得到了解决。

右键单击 Src-> 新包裹: 重命名要导入的包,并使用包类名创建一个新类。
例如,如果 import net.Proteanit.sql.DbUtils; 则显示导入错误

然后创建一个名为 net.proteanit.sql的新包 制作类 DbUtils;

package net.proteanit.sql;
public class DbUtils {


}

在我的情况下,我已经从2021-12年升级到2022-09年。我的 PC 有2个 JDK 1.8和17,Eclipse Java 编译器采用了17。

此外,已安装的 JRE 没有使用1.8 JDK bin 文件夹。因此需要为其添加 JRE 定义。这是设置的东西,可能会错过,并可能麻烦一些。

解决方案:

  1. 在 Preferences 中检查编译器—— > JAVA —— > Compiler
  2. 安装的 JRE 应该指向您将要使用的 JDK
  3. 检查相应的项目构建路径 JDK/JRE 设置

Image of Preferences menu in Eclipse