Spring错误:Could not resolve placeholder 'jdbc.driver'

zhangsc 2010-07-27 11:56:00
使用spring-framework-3.0.3,配置文件如下:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [
<!ENTITY contextInclude SYSTEM "org/springframework/web/portlet/context/WEB-INF/contextInclude.xml">
]>
<beans>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>/WEB-INF/config/jdbc.properties</value>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
</beans>


jdbc.properties文件在/WEB-INF/config目录下
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.user=scott
jdbc.password=tiger


当启动tomcat时,产生如下错误
严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in ServletContext resource [/WEB-INF/config/applicationContext.xml]: Could not resolve placeholder 'jdbc.driver'
at org.springframework.beans.factory.config.PropertyPlaceholderConfigure
r.processProperties(PropertyPlaceholderConfigurer.java:272)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.p
ostProcessBeanFactory(PropertyResourceConfigurer.java:75)
at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:663)
at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:638)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:407)
at org.springframework.web.context.ContextLoader.createWebApplicationCon
text(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:4323)
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:4771)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:785)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:76
3)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:1124)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:1047)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:542
)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1390)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:355)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:89)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:31
2)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:29
2)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:998)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
:772)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
va:990)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.
java:275)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.StandardService.startInternal(StandardServic
e.java:424)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
java:648)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
2010-7-27 11:18:35 org.apache.catalina.core.StandardContext startInternal


为什么会产生上面的错误呢?如何修改?
谢谢!
...全文
16908 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lf78204490 2011-03-16
  • 打赏
  • 举报
回复
去tomcat下看那看看工程的/WEB-INF/config/jdbc.properties文件存在不存在
水中影子 2010-07-27
  • 打赏
  • 举报
回复
oracle驱动包放在项目里了吗?

驱动字符串使用
oracle.jdbc.driver.OracleDriver
mythling 2010-07-27
  • 打赏
  • 举报
回复
Oracle方言好像没加到datasource里。你试试把这个加进去看看。
bolink5 2010-07-27
  • 打赏
  • 举报
回复
LZ Oracle驱动包加进来了吗
falconkabu 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 weipj001 的回复:]
将jdbc.driver=oracle.jdbc.OracleDriver
改成jdbc.driver=oracle.jdbc.driver.OracleDriver试试。
[/Quote]
+1
weipj007 2010-07-27
  • 打赏
  • 举报
回复
将jdbc.driver=oracle.jdbc.OracleDriver
改成jdbc.driver=oracle.jdbc.driver.OracleDriver试试。
以企业现网案例为例现网在用主流技术、防火墙旁挂组网案例、包含但不限于vlan、trunk、eth-trunk、OSPF、vpn-instance、NAT技术等。1、第一部分涉及知识点如下: IP地址配置 vlan划分 trunk vlanif 链路聚合 vrrp技术、MSTP、NAT、 OSPF、静态路由、2、规划:  2.1 六台终端分别属于vlan10 20 30 40 55 60,IP地址已经静态配置好;  2.2 四台接入层交换机创建vlan 划分vlan 配置上行trunk  2.3 核心交换机配置trunk并放行所有vlan与接入层互联;  2.4 核心交换机作为内网终端的网关,使用vlanif作为网关;  2.5 在核心交换机配置VRRP,规划如下:      2.5.1 SW1作为vlan 10 30 55的主网关,SW2作为vlan20 40 60的主网关  2.6 SW1-SW2之间配置链路聚合,采用LACP。  2.7 配置MSTP+VRRP:  2.8 SW1 SW2分别使用vlanif201 202对接出口路由器AR1 AR2      SW1:10.1.201.1/24 AR1:G0/0/1:10.1.201.254/24      SW2:10.1.202.2/24 AR2:G0/0/1:10.1.202.254/24      AR1:G2/0/0:10.1.12.1/24 AR2:G2/0/0:10.1.12.2/24      AR1:G0/0/0:192.168.137.2/24  2.9 出口设备AR1配置默认路由及NAT技术实现访问互联网;  2.10 在出口设备AR1开启DNS解析,设置DNS服务器地址;       [AR1]dns resolve       [AR1]dns server 192.168.137.1  2.11 出口设备与汇聚设备配置OSPF协议,并且处于骨干区域Area 0  2.12 出口设备AR1下发OSPF默认路由;  2.13 完成后 可以ping通百度:Ping www.a.shifen.com [14.119.104.189]: 32 data bytes, Press Ctrl_C to breakFrom 14.119.104.189: bytes=32 seq=1 ttl=52 time=62 msFrom 14.119.104.189: bytes=32 seq=2 ttl=52 time=63 msFrom 14.119.104.189: bytes=32 seq=3 ttl=52 time=62 msFrom 14.119.104.189: bytes=32 seq=4 ttl=52 time=63 msFrom 14.119.104.189: bytes=32 seq=5 ttl=52 time=62 ms

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧