4

我正在使用此处找到的示例代码为我的 web 应用程序实现连接池:http: //tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Plain_Ol'_Java

由于我使用 PostgreSQL 作为我的数据库,因此我将显示p.setDriverClassName("com.mysql.jdbc.Driver");p.setDriverClassName("org.postgresql.Driver");.

我得到的只是一个 ClassNotFoundException。我哪里出错了?还有其他方法吗?

编辑:如果我不使用连接池并按照正常方式进行操作,我不会收到错误消息。

编辑2:这不是建议问题的重复。我正在使用 Eclipse 并将 jar 包含在构建路径和部署程序集中。正如我所说,当不进行连接池并且只是手动打开连接并关闭时,不会出现错误。

4

1 回答 1

5

Tomcat 7 期望在其 /lib 文件夹中找到 JDBC 驱动程序 JAR。如果你把它们放在你的上下文 WEB-INF/lib 文件夹中,它不会找到它们,你会得到错误。

当您不进行连接池时它“工作”的原因是上下文类加载器可以找到 JAR。Tomcat 只会在涉及到应用程序服务器类加载器时才使用它。

于 2013-11-03T12:43:28.443 回答