java - PostgreSQL - 安装 JDBC 驱动程序

标签 java sql postgresql jdbc debian

我很难弄清楚应该如何在我的 debian 6.0 服务器上安装 PostgreSQL 的 JDBC 驱动程序。我已将驱动程序 .jar 移至以下目录:

/usr/local/pgsql/share/java/postgresql.jar. 

然后教程讲到使用这段代码:

Class.forName("org.postgresql.Driver");

但是,由于我是 postgreSQL 的新手,所以我不知道应该把这一行放在哪里,或者这是否正确。

我的问题是,如果不将 jar 文件移动到此位置,我实际上需要做什么才能在我的 postgreSQL 安装上安装 JDBC 驱动程序?


编辑:这是我的设置:

服务器 1: Tomcat + SOLR

服务器 2: 带有 JDBC 驱动程序的 PostgreSQL

服务器 1 上的 SOLR 通过 JDBC 驱动程序查询服务器 2 上的 postgreSQL

最佳答案

最好将 PostgreSQL 驱动程序安装到 tomcat\lib 文件夹中。只需将驱动程序 jar 复制到 PATH_TO_TOMCAT\lib

向系统 CLASSPATH 添加东西不是一个好主意,因为你可能会陷入类加载器 hell 。这是您如何最终陷入 jar/classpath hell 的示例。

  • 假设当前应用程序使用 postgres 9.1 并且您在系统 CLASSPATH 上设置了驱动程序
  • 你决定在那个盒子上运行另一个应用程序,它与更新版本的 postgres 对话,比如版本 9.2
  • 因为您正在使用系统类路径,所以应用 2 最终将使用旧驱动程序,因为系统类路径往往优先于应用程序类路径,除非应用启动器脚本设置 CLASSPATH=""以清空系统类路径或使用不执行父优先类加载的自定义类加载器。

参见 http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html

关于java - PostgreSQL - 安装 JDBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860024/

相关文章:

java - Io异常: Oracle Error ORA-12650 in Oracle Cloud

java - 如何在 Spring Boot 应用程序中配置自定义数据库连接超时?

MySQL 到 Postgres 按错误分组

mysql - SQL多表查询速度慢

mysql - PostgreSQL 多个 CSV 导入并向每列添加文件名

json - 如何将 json 对象转换为单独的行

java - 递归打印 ArrayList<ArrayList<String>> 的所有可能组合

Java 泛型参数从类泛型到方法泛型的类型不匹配

mysql - 哪个索引会加快查询速度?

sql - 单列SUM,不是单组群函数