【Debug】Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/j

7 篇文章 2 订阅
2 篇文章 0 订阅

Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/jsp/jstl/core/Config

【问题描述】

   今天我将之前调试过的一个 web project 直接复制到另一个文件夹里面,原工程是没有问题的(至少可以正常运行)。然后,我将新路径下的工程import 到Myeclipse中并重新部署启动,正常启动,没有报错,但是,当我在通过浏览器登陆网页的时候却报错了。网页报错界面和后台报错信息如下:





  【解决办法】

   如图中绿线标记处,报错信息为:Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/jsp/jstl/core/Config。

    字面意思为:没有发现相关类的定义,后面的javax/servlet/jsp/jstl/core/Config表示所缺失的类库的路径(姑且这么理解)。根据这一提示,既然缺失相关类库,我们首先搞清楚这个类库是什么,根据报错信息javax/servlet/jsp/jstl,工程中缺少的是Jsp标准标签库JSTT,相关内容链接里面有。于是,我在工程的Referenced Libraries中找到了包含标签的jar包:com.springsource.org.apache.taglibs.standard-1.1.2,我发现其中确实缺少javax/servlet/jsp/jstl相关的类包,鉴于我所建立的web工程采用的是Spring 框架,于是,我在Spring框架给定的类包中找到了定义标准标签库的另一个类包:com.springsource.javax.servlet.jsp.jstl-1.1.2,并将它通过新建路径导入到工程的Referenced Libraries中。然后,重新部署项目(一定要重新部署一下,因为Tomcat Servers中还是原来未包含新增类库的信息,通过查看Tomcat安装路径的D:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\chapter2\WEB-INF\lib可以确认这一点,红色为工程名)。

    在上面,缺失的javax.servlet.jsp.jstl类包我是从Spring给定的类库中导入的,如果你没有这个类库,也不要紧,从网上下载一个jstl-1.2.jar包,并在web工程中添加其路径即可,下载连接http://download.csdn.net/detail/zhouxich/5789411

【补充】    

    诸如NoClassDefFoundError 这类的报错,大多数情况下都是工程中缺失相关的类包,或者添加类包后未重新部署,亦或直接复制工程到新的路径而非通过Export;对于第一类问题(缺失相关的类包),我们要注意后面的报错详情,在本例中为javax/servlet/jsp/jstl/core/Config,它直观的告诉我们缺失的内容,根据这一关键信息,我们导入相关的缺失内容即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jin_Kwok

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值