zoukankan      html  css  js  c++  java
  • "XX cannot be resolved to a type "eclipse报错及解决说明

    引言:

        eclipse新导入的项目经常可以看到“XX cannot be resolved to a type”的报错信息,XX表示一个java类。本文将做以简单总结。
    正文:

        (1)jdk不匹配(或不存在)

        项目指定的jdk为“jdk1.6.0_18”,而当前eclipse使用的是“jdk1.6.0_22”。需要在BuildPath | Libraries,中做简单调整。

        (2)jar包缺失或冲突

        当找不到“XX”所在的jar包时,会报这个错。解决只需要找到(ctrl+点击,可能能看到jar包名称)对应jar包导入项目即可。

        另外,出现相同的XX时也会报此错。可能需要调包、解包、选删。

        (3)eclipse查找项目类型策略所致

        eclipse下,上述两条都对比过了,没有任何问题,可偏偏还报这错。这时,需要操作一下 Project | Clean... ,问题即可解决。原因是,机制所致。因为某些特殊原因,eclipse没能自动编译源代码到build/classes(或其他classes目录),导致类型查找不到。

     (4) JRE的版本不匹配

      由于项目比较老,导致之前的很多java类在现有的JRE下无法使用,Eclipse老是提醒找不到。

     下面也会给出几个例子:

    a. Enumeration cannot be resolved to a variable 

      如果哪天你这么写Enumeration enum;

      然后Eclipse刮是提示Enumeration cannot be resolved to a variable

      那就悲剧了,尽管程序可以运行,但是有些功能实现不了。。。。

      好了,解决方案还是挺简单的,如果你当前使用的是JRE 1.5或者1.6或更高的,

      简单的可以改为1.4或者以下,再来编译,是不是好了,额

      为什么会这样的呢?

       原来从Java5开始,enum已经作为一个关键字,那样写当然会有问题啦,所以另一种改法就是把enum换成别的名字咯

      Project-->Properties-->Java Build Path: add liberary , add the correct JRE .

    b. 运行Servlet程序编译的时候找不到javax.servlet包。

      解决办法:

      1:servlet-api.jar复制到 C:\%Java_Home%jre1.5.0_10libext

      2:在classpath中加入“D:Tomcat 5.5commonlibservlet-api.jar;”

      以上方法你通过Javac 编译和运行就没问题 但是如果你是在Eclipse 环境下编译起来还是出现软件包不存在的问题;

      3:在Eclicpse8.6中还要配置引入这个包。方法是:

      打开project->project properties->Libraries->add external jars->把Tomcat下的servlet.api.jar导入。

      4.完成。再次运行的时候就能通过了。

      对于导入jsp-api.jar这个包也是一样的, 他们位于Tomcat下tomcat的commonlib中有这个包中,将其导入到classpath下即可。

  • 相关阅读:
    Docker 安装及使用
    明明白白学 同步、异步、阻塞与非阻塞
    ArrayList 并发操作 ConcurrentModificationException 异常
    shell 脚本防止ddos
    shell 脚本备份数据库
    shell 脚本猜数字
    shell 脚本检测主从状态
    tomcat 结合apache 动静分离
    shell 脚本检测网站存活
    zabbix 4.0 版本 yum安装
  • 原文地址:https://www.cnblogs.com/niceofday/p/4974411.html
Copyright © 2011-2022 走看看