写一个最近经常遇到但又不知道怎么解决的问题,在公司里面用Spring跑服务跑的好好的,一回家把工程原封不动的到入eclipse中启动就报org.springframework.web.context.ContextLoaderListener错误,一直想不通是怎么回事,什么都不缺,什么都配了就是要报错,相当的苦恼,去网上看了很多资料才发现是Java虚拟机运行机制的问题
- 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包。
如果你的jar包完全没问题,也是放在WEB-INF/lib下就只需要把Tomcat从eclipse中remove掉再重新导入一次就行了