【问题标题】:Eclipse error ... cannot be resolved to a typeEclipse 错误...无法解析为类型
【发布时间】:2013-04-03 18:10:45
【问题描述】:

我有一个动态 Web 项目,我正在着手将 jsp/servlet 应用程序从 JRun 迁移到 Tomcat。

我收到错误:com.ibm.ivj.eab.dab.DatastoreJDBC 无法解析为类型。

我将*.class 文件放在com/ibm/ivj/eab/dab 文件夹中(正是我找到它们的方式)。我尝试创建一个 jar 文件并通过“添加外部 Jar”将其添加到构建路径,我还尝试添加一个“外部类文件夹”并指向包含相关“com”目录的文件夹。

不过,错误仍然存​​在。奇怪的是,如果我开始输入包名 eclipse 实际上会为我自动完成课程! (如下图)。任何想法将不胜感激。也许这些类是为更旧的 java 版本编译的,这会造成麻烦吗?也许我需要做一些事情来确保这些类最终出现在 WEB-INF/lib 目录中?

【问题讨论】:

  • 您的代码中是否有该类的导入语句?
  • @ChrisGerken 不,我只是将 添加到顶部(这是一个 JSP 页面)以及 有趣的是 Eclipse 不介意第一次导入,但将第二次标记为错误。
  • 无论是 Eclipse 还是 Intellij,这都是现代 IDE 中最烦人的错误之一。它几乎总是由缓存行为引起的,因此您会收到诸如“清理缓存”、“重启”等。缓存是为性能而构建的,IDE 无法理解发生了更改,因此您需要手动清理缓存。

标签: java eclipse


【解决方案1】:

此外,如果您使用的是 mavenised 项目,请尝试通过单击 Alt+F5 来更新您的项目。 或者右键单击应用程序并转到 maven /update 项目。

它会构建您的所有组件并解决是否存在任何导入错误。

【讨论】:

  • 有人可以解释为什么必须这样做吗?为什么eclipse自己搞不明白?
  • 我想回应@XMight 的问题。
  • 我遇到了这个问题并无数次尝试更新 maven 项目,但直到我删除了这样的 JDT 索引才解决它:[关于如何访问 Eclipse JDT 索引的答案?] (stackoverflow.com/a/3898528/6359607)
  • 这对我有用。但是为什么 eclipse 不自己做这件事是没有意义的。
  • 也为我工作。有没有办法在 eclipse 执行中添加 mvn 命令行?
【解决方案2】:
  1. 右键单击您的项目名称。

  2. 点击Properties

  3. 点击Java Build Path

  4. 点击Add Class Folder

  5. 然后选择你的班级。

或者,Add Jars 应该可以工作,尽管您声称您尝试过。

另外,“您是否尝试过将其关闭并重新打开”? (重启 Eclipse)。

【讨论】:

  • 当我“添加类文件夹”时,我应该选择包含“com”目录的文件夹(曾曾祖父)还是应该选择包含 *.class 文件的文件夹?跨度>
  • 找到了一套不同的、更广泛的软件包,包括这个,把它卷进一个罐子里,到目前为止一切都很好。谢谢!
  • 当涉及到 JSP 的验证时,eclipse 肯定会出现一些问题。 “将其关闭并重新打开”有助于它重新站稳脚跟,但我还发现执行项目 -> 清理...也有助于解决问题。
  • 这里需要选择哪个类?
  • 当我添加类文件夹时,Eclipse 将它们从项目视图中隐藏了。当我删除它们时(在我之前添加它们的构建路径向导中的同一位置),一切都像魅力一样工作。
【解决方案3】:

要解决错误“...无法解析为类型..”,请执行以下操作:

  1. 右键单击类并选择“构建路径-->排除”
  2. 再次右键单击类并选择“构建路径-->包含”

它对我有用。

【讨论】:

    【解决方案4】:

    项目 -> 清理

    至少有时足以解决问题。

    【讨论】:

      【解决方案5】:

      有两种方法可以解决“无法解析为一个类型”的问题 ":

      1. 对于非 maven 项目,在文件夹中手动添加 jar 并将其添加到 java 构建路径中。这将解决编译错误。
      2. 对于 maven 项目,右键单击项目并转到 maven -> 更新项目。选择您遇到编译错误的所有项目,并选中“强制更新快照/版本”。这将更新项目并修复编译错误。

      【讨论】:

      • maven -> 更新项目确实解决了我的问题,但是在我进行项目->清理->构建所有代码编辑后,所有 10k+“无法解析为类型”错误重新出现.
      【解决方案6】:

      对于 maven 用户:

      • 右键单击项目
      • 马文
      • 更新项目

      【讨论】:

      • 对我来说,此外,在所有项目上运行 maven-update-project 之后,有时我必须在我们的核心库上执行 maven-update-project。奇怪的是,按照这个顺序,这两个步骤都是必需的。
      【解决方案7】:

      简单的解决方案:

      项目属性->java builder路径->maven->找到c3p0-0.9.5.2.jar

      并查看文件存储在本地存储库中的位置,然后转到该位置并手动删除存储库。

      【讨论】:

        【解决方案8】:
        • 右键单击项目 > 属性
        • Java 构建路径 > 添加类文件夹
        • 选择bin文件夹
        • 点击确定
        • 切换订购和导出标签
        • 选择新添加的bin路径移动UP
        • 点击应用按钮

        【讨论】:

          【解决方案9】:

          通过将 jar 放入 WEB_INF/lib 解决了问题。

          【讨论】:

            【解决方案10】:

            复制 jar 文件即可解决。如果您有机会从任何教程中复制代码,请确保类名的拼写正确……例如,我从其中一个教程中复制了一个代码,该教程在 S cap 中有 solr。 Eclipse 不断抛出错误,我也做了一些谷歌搜索......一切都很好,我花了 30 分钟才意识到上限小问题。相信这会对某人有所帮助

            【讨论】:

              【解决方案11】:

              对于许多新用户,如果您想使用包中的所有类,请不要忘记在导入语句后添加星号 (*)....例如

              import java.io.*;
              
              public class Learning 
              {
                  public static void main(String[] args) 
                  {
                      BufferedInputStream sd = new BufferedInputStream(System.in);
                          // no error
                  }
              }
              

              ================================================ ==================

              import java.io;
              
              public class Learning 
              {
                  public static void main(String[] args) 
                  {
                      BufferedInputStream sd = new BufferedInputStream(System.in);
                          // BufferedInputStream cannot be resolved to a type error
                  }
              }
              

              【讨论】:

                【解决方案12】:

                解决方案: 1.项目->构建路径->配置构建路径

                2.在左侧菜单中选择Java Build path,选择“Source”

                3.在 Project 下选择 Include(All) 并点击 OK

                原因: 这个问题可能是因为你可能已经删除了项目的 CLASS 文件或依赖项

                【讨论】:

                  【解决方案13】:
                  Project -> Build Path -> Configure Build Path
                  Select Java Build path on the left menu, and select "Source"
                   click on Excluded and then Include(All) and then click OK
                      Cause : The issue might because u might have deleted the CLASS files 
                   or dependencies on the project
                  

                  对于 maven 用户:

                  右击项目

                  Maven

                  更新项目

                  【讨论】:

                    【解决方案14】:

                    首先你需要更新 pom.xml 在下面添加

                        <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                        <version>4.1.6.RELEASE</version>
                        </dependency>
                    

                    1] 右键单击​​您的项目名称。

                    2] 点击属性。

                    3] 单击 Java 构建路径。

                    4] 检查订单和导出选项卡中的“Maven 依赖项”。

                    在我的情况下,以前它没有启用。所以当我启用它时,我的 @GetMapping 注释工作正常..

                    【讨论】:

                      【解决方案15】:

                      此外,还有针对 IvyDE 用户的解决方案。右键单击项目->常春藤->解决 需要在 build.properties 中设置 ivy.mirror 属性

                      【讨论】:

                        【解决方案16】:

                        我刚刚关闭了所有文件并重新打开它们,瞧!!!希望这对将来的某人有所帮助;)

                        【讨论】:

                          【解决方案17】:

                          下载 servlet-api.jar 文件并将其粘贴到 WEB-INF 文件夹中即可使用

                          【讨论】:

                          • 您好,欢迎来到 SO!请阅读tourHow do I write a good answer? 例如,您可以添加一个从何处下载的链接,并说明这个jar 怎么可能一开始就丢失了。
                          猜你喜欢
                          • 2017-12-31
                          • 1970-01-01
                          • 2015-11-13
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2015-05-28
                          • 2021-01-26
                          相关资源
                          最近更新 更多