Java 9 JDBC 设置

Java 9 JDBC setup

问题

我目前正在使用 Java 9 及其模块系统,并希望通过 JDBC.

连接到我的 PostgreSQL 数据库

问题是我无法找到任何有关其使用 Java 9 及其模块系统设置的信息,但仅适用于 Java 8 及更早版本。

问题

如何使用 java 模块系统正确设置 JDBC 及其驱动程序?

运行时,jar 必须位于class路径。对于编译,您不需要 jar。

如果 Postgresql 驱动程序已经模块化,它将与运行时的 uses/provides 机制一起工作:

java JRE:

module java.sql {
   uses java.sql.Driver;
   exports java.sql;
}

然后驱动程序应该在模块信息中有这样的东西:

module org.postgresql {
   requires java.sql;
   provides java.sql.Driver with org.postgresql.Driver;
}

并且正常的 ServiceLoader 会自动发现驱动程序。

Class.forName("org.postgresql.Driver"); 通常不需要,只是在一些 JavaEE 应用程序中有一些 class 加载程序杂耍。