【问题标题】:Eclipse error: "The import XXX cannot be resolved"Eclipse 错误:“无法解析导入 XXX”
【发布时间】:2011-05-18 09:32:42
【问题描述】:

我正在尝试在 Eclipse 中使用 Hibernate。 我正在创建一个新的简单项目,并且我也通过 CVS 下载了一个同事项目。 两者都不起作用,而在我同事的 Eclipse 上起作用。 问题在于,对于 Hibernate 类的每次导入,Eclipse 都会说:

The import org.hibernate cannot be resolved

但是所有的Hibernate jars都在构建路径中,即:

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

【问题讨论】:

  • 你是如何在构建路径中添加这些 jar 的?
  • 按属性 > Java 构建路径 > 库 > 添加外部 JAR
  • 如果它有效但他们现在没有,请参阅下面@dogbane 的答案......
  • 检查您的导入文件夹中是否有空间。如果有空间,删除空间并将项目导入到 eclipse 中。

标签: java eclipse import jar buildpath


【解决方案1】:

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

步骤:

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

【讨论】:

    【解决方案2】:

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

    requires org.hibernate;
    

    【讨论】:

      【解决方案3】:

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

      我要做的是在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 版本名称和编号

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

      【讨论】:

        【解决方案4】:

        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 可以在 vim 之外完成,分别使用 mvn dependency:resolvemvn eclipse:eclipse

        由于该插件被称为 Eclipse 插件in Eclim’s documentation,我认为此过程也适用于 Eclipse 用户。

        【讨论】:

        • 刚刚又遇到了这个问题,似乎在vim 之外运行mvn 效率不高(也就是说,我尝试了几次都没有成功,但它在运行vim 时立即起作用了s :Mvn)。
        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

          • 你好汤姆,我还没有阅读你的答案,因为它很长。请尝试对其进行总结,或在开头添加摘要,或至少用粗体字突出关键概念。否则没有人会从中受益。希望您能理解,非常感谢! ;)
          • 哦,请确保您要导入的包是在 osgi 标头中导出的包
          【解决方案7】:

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

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

          【讨论】:

            【解决方案8】:

            同时尝试在你的包名前添加main.java

            旧包名:com.stackoverflow.help

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

            【讨论】:

              【解决方案9】:

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

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

              2. 重新安装所需的导入

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

              【讨论】:

              【解决方案10】:

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

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

              它们都不起作用。

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

              【讨论】:

              • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
              【解决方案11】:

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

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

              package net.proteanit.sql;
              public class DbUtils {
              
              }
              

              【讨论】:

                【解决方案12】:

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

                【讨论】:

                  【解决方案13】:

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

                  【讨论】:

                    【解决方案14】:

                    对我来说,

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

                    解决了问题

                    【讨论】:

                      【解决方案15】:

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

                      【讨论】:

                        【解决方案16】:

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

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 2013-12-01
                          • 2021-02-13
                          • 2021-06-20
                          • 2016-03-18
                          • 2016-03-20
                          • 1970-01-01
                          • 2020-09-21
                          相关资源
                          最近更新 更多