今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:

  1. <listener>
  2. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  3. </listener>

随后启动tomcat服务器,控制台提示如下错误:

  1. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

这种错误意思很明确:找不到“ org.springframework.web.context.ContextLoaderListener”这个类,ContextLoaderListener这个类是在spring-web.jar包下,我仔细检查了项目jar环境,发现该jar包确实存在,而且也能找到编译后的ContextLoaderListener.class文件。

当时很疑惑,随后去网上找答案,终于发现问题根源:

  1. Java虚拟机是根据Java ClassLoader(类加载器)决定如何加载Class。
  2. 系统默认提供了3个ClassLoader
  3. Root ClassLoader,ClassPath Loader,Ext ClassLoader
  4. 我们也可以编写自己的ClassLoader,去加载特定环境下的Jar文件。
  5. 能不能加载Jar,加载哪里的Jar,是由ClassLoader决定的。
  6. 楼主的问题可能是 导入的仅仅是jar包的引用,例如在eclipse中通过build path加进user lib……(类似快捷方式)
  7. 这种在Java Application中没问题,但在web Application中可能会出现找不到类的异常。
  8. 在WEB Application中jar包最好放在webroot或webcontent下的lib文件夹内,特别是xml中用到的jar包。

因为我是通过eclipse的build path直接引用的jar包,没有把jar文件拷贝到lib目录下。

随后我将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了。

最新文章

  1. 【C#】时间戳转换
  2. wordpress 获取特色图片url方法
  3. 【转】关于Class.getResource和ClassLoader.getResource的路径问题
  4. strits2初始配置总结
  5. php-数据库访问--数据修改
  6. OJ上 G++ 与 C++ 的区别
  7. sqlmap 技巧整理
  8. Linux中用stat命令查看文件时3个时间点解析
  9. hadoop集群环境搭建准备工作
  10. Catel(翻译)-为什么选择Catel
  11. Opengl4.5 中文手册—E
  12. SPOJ 1812 LCS2 [后缀自动机 DP]
  13. Go基础系列:map类型
  14. Financial Management POJ - 1004
  15. 20175213 2018-2019-2 《Java程序设计》第9周学习总结
  16. 显卡、GPU和CUDA简介
  17. python – time.sleep – 睡眠线程
  18. Android字体设置
  19. C#Winform实时更新数据库信息Demo(使用Scoket)
  20. xv6/bootasm.S + xv6/bootmain.c

热门文章

  1. 解决首次访问jenkins,输入初始化默认密码之后,一直卡住问题,无法进行jenkins工具安装
  2. Nginx 整合 FastDFS 实现文件服务器
  3. Microsoft Dynamics CRM2011 导入解决方案时,失败的原因小结
  4. 【linux】Linux 进程状态
  5. Java之优先队列
  6. C# webBrowser 获取元素class属性值
  7. Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
  8. Scrapy爬取人人网
  9. 第14章 UDP编程(2)_端口绑定和域名解析
  10. MapReduce C++ Library