项目启动时,spring配置文件报错

wkit 发布于 2016/02/28 16:56
阅读 547
收藏 0

错误显示如下:

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.lwj.common.util.DbUtilsTemplate] for bean with name 'dbUtilsTemplate' defined in ServletContext resource [/WEB-INF/spring.xml]; nested exception is java.lang.ClassNotFoundException: com.lwj.common.util.DbUtilsTemplate
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:897)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:586)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5221)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1685)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.lwj.common.util.DbUtilsTemplate
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1293)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:260)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)
	... 22 more



提示我找不到dbutiltemplate这个类,可奇怪的是我已经有这个类了,并且我用ctrl+左键能点进去的。

以下是我的相关配置:

<!-- 定义数据源Bean,使用C3P0数据源实现 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClassName}"/>
        <property name="jdbcUrl" value="{jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.username}"/>
    </bean>
	

	<!-- 定义DbUtils的一个模板操作Bean -->  
	<bean id="dbUtilsTemplate" class="com.lwj.common.util.DbUtilsTemplate">  
   		<property name="dataSource" ref="dataSource" />  
	</bean>



加载中
0
Sel8616
Sel8616

引用来自“os_vc”的评论

有没有可能eclipse 没有编译com.lwj.common.util.DbUtilsTemplate类,webapps 下有没有呢
这个比较靠谱,楼主去查查你WEB-INF/classes里有没有对应的jar
Sel8616
Sel8616
回复 @wkit : 哦对,我打错了,不是jar是.class文件
wkit
wkit
谢谢提醒,是对的,我把classes文件建错地方了。
wkit
wkit
对应的jar是指什么?class文件夹里面都是编译后的class文件,没有jar。我所知道的jar就是lib包下的jar。。
0
阿信sxq
阿信sxq
运行的环境里面找得到不,万一是你实际的运行环境里面找不到呢
wkit
wkit
回复 @阿信sxq : 用的Eclipse,tomcat插件。。是指这个吗
阿信sxq
阿信sxq
回复 @wkit : 你运行是怎么运行的?是独立运行服务器还是在IDE里面运行的?如果是IDE,那么IDE是什么
wkit
wkit
回复 @阿信sxq : 导包?
阿信sxq
阿信sxq
回复 @wkit : 运行的服务器的环境啊,服务器的lib,或者运行的项目的lib
wkit
wkit
意思是哪里没有呢?运行的环境是指?
0
阿信sxq
阿信sxq
你是在IDE里面运行的话,你需要去看看“Workspaces\EclipseSTSWDir\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”里面的项目目录里面的lib有没有对应的JAR
wkit
wkit
谢谢~我知道你要表达什么了,我明白你的意思。当初自己搭框架的时候,没留意把classes这个文件放在了WebRoot下。其实应该是放在WebRoot/WEB-INF/classes,这样的路径才是正确的。
阿信sxq
阿信sxq
回复 @wkit : 你那个类所在的jar,或者是你自己写的类的话,看看那个对应的class在不在
wkit
wkit
你好,指的是什么jar呢
0
zvc888
zvc888
有没有可能eclipse 没有编译com.lwj.common.util.DbUtilsTemplate类,webapps 下有没有呢
wkit
wkit
谢谢~当时没留意把classes这个文件放在了WebRoot下。其实应该是放在WebRoot/WEB-INF/classes这里的,谢谢提醒
wkit
wkit
你的意思是编译后的class文件没有这个类?
0
zigzagroad
zigzagroad
jar文件其实就是zip文件,只是改了一下扩展名。
返回顶部
顶部