【Debug】Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/j
2016-06-13 16:06
603 查看
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,它直观的告诉我们缺失的内容,根据这一关键信息,我们导入相关的缺失内容即可。
【问题描述】
今天我将之前调试过的一个 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,它直观的告诉我们缺失的内容,根据这一关键信息,我们导入相关的缺失内容即可。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树