java.lang.ClassNotFoundException:org.apache.tomcat.jdbc.pool DataSourceFactory

时间:2011-04-19 23:13:01

标签: tomcat datasource tomcat6 jndi connection-pooling

我正在调查离开Oracle连接池并使用Tomcat连接池。我按照无数的示例在Tomcat的<Resource>中配置/conf/server.xml。我找到了很棒的信息here。但是,当我启动Tomcat时,我收到以下错误:

  

javax.naming.NamingException:无法加载资源工厂类[根异常是java.lang.ClassNotFoundException:org.apache.tomcat.jdbc.pool DataSourceFactory] ​​

我正在使用Tomcat 6.0。我在<Resource>中的/conf/server.xml配置为:

<Resource 
    name="jdbc/myds"
    type="javax.sql.DataSource"
    auth="Container" 
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@10.10.10.33:1234:myds"
    user="myuname"
    password="mypasswd"
/>

我知道Tomcat找不到工厂类,但我不明白为什么?我没有在文档中看到有关添加额外.jar文件的任何内容。我查看了发行版,无论如何都找不到金色的.jar

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:35)

Tomcat JDBC池在Tomcat 7.0.19中为introduced,但您尝试在Tomcat 6.0中使用它而无需进一步配置。

对于Tomcat 6.0,您需要手动download并删除Tomcat安装的tomcat-jdbc.jar文件夹中/lib文件的最新版本。