【问题标题】:ClassNotFoundException (org.postgresql.Driver) with connection pooling example带有连接池示例的 ClassNotFoundException (org.postgresql.Driver)
【发布时间】:2013-11-03 20:43:28
【问题描述】:

我正在使用此处找到的示例代码为我的 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 包含在构建路径和部署程序集中。正如我所说,当不进行连接池并且只是手动打开连接并关闭时,不会出现错误。

【问题讨论】:

  • 您是否已将 PostgreSQL 库添加到您的项目/类路径/构建路径中?
  • 是的,我有。如果我不使用连接池并正常执行,我不会收到错误消息。
  • 不,这不是。请参阅更新的问题。此外,我正在使用 Eclipse 并将 jar 包含在构建路径和部署程序集中。正如我所说,不进行连接池时不会出现错误。

标签: java postgresql tomcat jdbc connection-pooling


【解决方案1】:

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

当你不做连接池时它“工作”的原因是上下文类加载器可以找到 JAR。当涉及到应用服务器类加载器时,Tomcat 只会走得更远。

【讨论】:

  • 做到了。非常感谢!
猜你喜欢
  • 2023-03-21
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
相关资源
最近更新 更多