当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL

发表于: 2011-06-25   作者:白糖_   来源:转载   浏览:
摘要: 今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>  随后启动

今天学习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便能顺利通过了。

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener为什么
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener为什么
在通过jdbc连接mysql数据库时, 如果是java项目,只需要引入mysql-connector-java-xxx.jar buildpat
转自chinasoft,没办法收藏,转载好了,感谢作者: http://blog.csdn.net/maoweiwer/article/detail
阅读目录   ClassNotFoundException   NoClassDefFoundError   参考资料   以前一直没有注
大家在用maven结合jetty时,执行jetty:run 会出现如下异常: 该异常的信息为:jetty后面的管理交给了ec
参考 http://blog.csdn.net/huangbiao86/article/details/6428608 新建的maven web工程,在Class.fo
struts2启动出现如下错误: 解决:lib目录中没有导入jar包
 使用velocity报找不到org.apache.commons.digester.RuleSet这个类,导入如下4个包还报这个错ja
eclispe中的maven项目使用Spring整合Struts2时,报java.lang.ClassNotFoundException: org.springfr
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号