context.xml配置了数据源正常。
服务器重启一次,数据源消失了。
肯定就报错了。。
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/configs/beans-jpa.xml]: Cannot resolve reference to bean 'adDataSource' while setting bean property 'dataSource';忘了是改哪个了

解决方案 »

  1.   

    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'你的数据库配置里,driver class没配
      

  2.   

    贴  dataSource 里面的连接源码
      

  3.   

    不是楼上说得啥driver class没有配置的问题。我没说明白?
    我的意思是TOMCAT里 数据源设置好了,ECLIPSE里启动、应用都没有问题。但是,当重启TOMCAT的时候,
    context.xml里边配置的数据源消失了然后才报错。看来我贴的错误信息误导了你们
    问题的关键是context.xml里的数据源,tomcat只要一重启就消失,忘了改哪个了。。
      

  4.   

    你tomcat/webapps下是不是放了一个war文件?你重启tomcat它自动解压覆盖,所以你配置的都没了。
      

  5.   

    没有啊。tomcat里该项目下没有WAR包存在。
      

  6.   


    数据源配置在context.xml里面啊,比如:
    <Resource 
    auth = "Container"
    name = "jdbc/adbDataSource"
    type = "javax.sql.DataSource" 
    driverClassName = "oracle.jdbc.driver.OracleDriver"
    url = "jdbc:oracle:thin:@10.xx.xx.xx:1521:xxx" 
    username = "ad"
    password = "adxxx"
    maxIdle = "5"
    maxWait = "5000"
    maxActive = "10"/>然后web.xml <resource-ref>
        <description></description>
        <res-ref-name>jdbc/adDataSource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    spring配置 <bean id = "adDataSource" class = "org.springframework.jndi.JndiObjectFactoryBean">
    <property name = "jndiName" value = "java:comp/env/jdbc/adbDataSource"/>
    </bean> <bean id = "adJdbcDao" class = "xx.xx.xx.jdbc.SpringJdbcDao">
    <property name = "dataSource" ref = "adDataSource" />
    </bean>
    不一一贴了。配置好了在ECLIPSE里启动该项目没有问题
    但是当重启TOMCAT的时候,context.xml里边配置的数据源]<Resource>消失了。。没有了
      

  7.   

    是这个没有了?<Resource 
            auth = "Container"
            name = "jdbc/adbDataSource"
            type = "javax.sql.DataSource" 
            driverClassName = "oracle.jdbc.driver.OracleDriver"
            url = "jdbc:oracle:thin:@10.xx.xx.xx:1521:xxx" 
            username = "ad"
            password = "adxxx"
            maxIdle = "5"
            maxWait = "5000"
            maxActive = "10"/>
    如果是这样,那应该是被覆盖了。
      

  8.   

    数据库的驱动程序是否copy到tomcat\lib文件夹下了?
      

  9.   

    把数据源得配置放到server.xml里面去。重启就可以了。
      

  10.   

    tomcat版本要5.5以上,5.5以下好像是不支持content.xml