我很难弄清楚应该如何在我的 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/