开发者社区> 问答> 正文

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

错误显示如下:

严重: 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>



展开
收起
爱吃鱼的程序员 2020-06-10 13:43:21 677 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    <divclass='ref'>

    引用来自“os_vc”的评论

    有没有可能eclipse没有编译<spanstyle="color:#0000FF;font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;font-size:14px;line-height:15.4px;background-color:#FFFFFF;">com.lwj.common.util.DbUtilsTemplate类,webapps下有没有呢回复<aclass='referer'target='_blank'>@wkit:哦对,我打错了,不是jar是.class文件谢谢提醒,是对的,我把classes文件建错地方了。对应的jar是指什么?class文件夹里面都是编译后的class文件,没有jar。我所知道的jar就是lib包下的jar。。运行的环境里面找得到不,万一是你实际的运行环境里面找不到呢
    回复<aclass='referer'target='_blank'>@阿信sxq:用的Eclipse,tomcat插件。。是指这个吗回复<aclass='referer'target='_blank'>@wkit:你运行是怎么运行的?是独立运行服务器还是在IDE里面运行的?如果是IDE,那么IDE是什么回复<aclass='referer'target='_blank'>@阿信sxq:导包?回复<aclass='referer'target='_blank'>@wkit:运行的服务器的环境啊,服务器的lib,或者运行的项目的lib意思是哪里没有呢?运行的环境是指?你是在IDE里面运行的话,你需要去看看“Workspaces\EclipseSTSWDir.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps”里面的项目目录里面的lib有没有对应的JAR
    谢谢~我知道你要表达什么了,我明白你的意思。当初自己搭框架的时候,没留意把classes这个文件放在了WebRoot下。其实应该是放在WebRoot/WEB-INF/classes,这样的路径才是正确的。回复<aclass='referer'target='_blank'>@wkit:你那个类所在的jar,或者是你自己写的类的话,看看那个对应的class在不在你好,指的是什么jar呢有没有可能eclipse没有编译<spanstyle="color:#0000FF;font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;font-size:14px;line-height:15.4px;background-color:#FFFFFF;">com.lwj.common.util.DbUtilsTemplate类,webapps下有没有呢谢谢~当时没留意把classes这个文件放在了WebRoot下。其实应该是放在WebRoot/WEB-INF/classes这里的,谢谢提醒你的意思是编译后的class文件没有这个类?jar文件其实就是zip文件,只是改了一下扩展名。

    2020-06-10 13:43:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载