java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
2024-10-15 03:39:25
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
随后启动tomcat服务器,控制台提示如下错误:
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
这种错误意思很明确:找不到“ org.springframework.web.context.ContextLoaderListener”这个类,ContextLoaderListener这个类是在spring-web.jar包下,我仔细检查了项目jar环境,发现该jar包确实存在,而且也能找到编译后的ContextLoaderListener.class文件。
当时很疑惑,随后去网上找答案,终于发现问题根源:
- Java虚拟机是根据Java ClassLoader(类加载器)决定如何加载Class。
- 系统默认提供了3个ClassLoader
- Root ClassLoader,ClassPath Loader,Ext ClassLoader
- 我们也可以编写自己的ClassLoader,去加载特定环境下的Jar文件。
- 能不能加载Jar,加载哪里的Jar,是由ClassLoader决定的。
- 楼主的问题可能是 导入的仅仅是jar包的引用,例如在eclipse中通过build path加进user lib……(类似快捷方式)
- 这种在Java Application中没问题,但在web Application中可能会出现找不到类的异常。
- 在WEB Application中jar包最好放在webroot或webcontent下的lib文件夹内,特别是xml中用到的jar包。
因为我是通过eclipse的build path直接引用的jar包,没有把jar文件拷贝到lib目录下。
随后我将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了。
最新文章
- 【C#】时间戳转换
- wordpress 获取特色图片url方法
- 【转】关于Class.getResource和ClassLoader.getResource的路径问题
- strits2初始配置总结
- php-数据库访问--数据修改
- OJ上 G++ 与 C++ 的区别
- sqlmap 技巧整理
- Linux中用stat命令查看文件时3个时间点解析
- hadoop集群环境搭建准备工作
- Catel(翻译)-为什么选择Catel
- Opengl4.5 中文手册—E
- SPOJ 1812 LCS2 [后缀自动机 DP]
- Go基础系列:map类型
- Financial Management POJ - 1004
- 20175213 2018-2019-2 《Java程序设计》第9周学习总结
- 显卡、GPU和CUDA简介
- python – time.sleep – 睡眠线程
- Android字体设置
- C#Winform实时更新数据库信息Demo(使用Scoket)
- xv6/bootasm.S + xv6/bootmain.c
热门文章
- 解决首次访问jenkins,输入初始化默认密码之后,一直卡住问题,无法进行jenkins工具安装
- Nginx 整合 FastDFS 实现文件服务器
- Microsoft Dynamics CRM2011 导入解决方案时,失败的原因小结
- 【linux】Linux 进程状态
- Java之优先队列
- C# webBrowser 获取元素class属性值
- Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
- Scrapy爬取人人网
- 第14章 UDP编程(2)_端口绑定和域名解析
- MapReduce C++ Library