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 加载程序杂耍。
问题
我目前正在使用 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 加载程序杂耍。