spring的lib下面的jar包与UserLibarayjar包造成的类找不到异常
来源:互联网 发布:卡佩拉毒蛇队数据 编辑:程序博客网 时间:2024/05/21 05:37
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context
今天学习spring项目的时候出现了下面的错误信息:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
虽然问题一眼就知道是这句话:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
但是还是有点迷糊,因为以前练习spring的时候,是把jar包都复制到WEB-INF/Lib目录下的,但是最近练习项目的时候都是自己建立自己不同的User libaraies,很明显我已经导入了这些jar包,但是却提示这样的信息..............
看来自己对于JVM是如何引入我们所需要的第三方jar包的机制,后来去网上仔细搜了以下,才明白其原理,下面不废话,直接重点:
- ava虚拟机是根据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包。
原来是我们自使用类似于Ant来获取类的时候是不能象UserLibaray来使用的,因为我们建立的是一个web app,而web app使用的是自定义的ClassLoader,而非JVM中的存在的三种ClassLoader(如上面所说),因此它无法识别出我们写在xml文件中的第三方类库的class文件,而只有我们写在src目录下的java文件才能使用,因此,我们必须要把第三方的类库放入到lib目录下,web app 才会识别我们定义在xml中的类了 .
通这个错误,也让我对classloader的认识也进了一步.虽然以前看过周志明的深入JVM一书中关于类加载器分派体系的介绍,但是不太理解,这样一来,自己也多了一些体会.
javalangClassNotFoundException: orgspringframeworkwebcontextContextLoa
spring-web 的jar包没导进去
jar包邮冲突,把重复的jar包删除
在web.xml加上<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-*.xml</param-value> </context-param>
因为默认的读取的是/WEB-INF下的配置文件,如果配置文件在src中要把路径改为类路径底下
4.把工程刷新一下,因为工程是部署在服务器底下的,要把加入的jar包部署到工程里。
启动报错:javalangClassNotFoundException: orgspringframeworkwebcontextContextLoaderListener
- spring的lib下面的jar包与UserLibarayjar包造成的类找不到异常
- jar包与lib包的区别
- Tomcat运行时找不到jar包,而这些包已经放入web-inf下面的lib里了,而且build path也加入了这些jar包
- tomcat maven lib下面的jar包没有发布?
- maven下面怎么使用lib下的Jar包
- 找不到jar包的解决方案
- 找不到jar包的解决方法
- Spring 的 jar 包
- Spring的jar包
- 异常与所缺失的jar包
- 开发Servlet时WEB-INF下面的lib目录下缺jar包的表现
- Struts2与Spring结合的jar包
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- 用mysqlbinlog查看row格式的事件
- POJ3628 Bookshelf 2(01背包)
- PAT (Advanced Level) Practise 1048 Find Coins (25)
- PreparedStatement动态给数据库写内容 以及之前数据库崩了的事情
- Linux 内核中的 kconfig 原理
- spring的lib下面的jar包与UserLibarayjar包造成的类找不到异常
- 【读书笔记】CSS3学习(一)
- HDU 1392 Surround the Trees
- POJ 2553 The Bottom of a Graph 强连通分量
- iOS开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)
- iOS开发之详解正则表达式
- oc之id 总结思考
- fragmenTransaction和fragment生命周期
- Fragment overlap problem