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

Posted

技术标签:

【中文标题】java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool DataSourceFactory【英文标题】: 【发布时间】:2011-08-09 02:12:21 【问题描述】:

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

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

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

<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】:

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

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

【讨论】:

以上是关于java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool DataSourceFactory的主要内容,如果未能解决你的问题,请参考以下文章