问题
我目前正在使用Java 9及其模块系统,并希望通过JDBC连接到我的PostgreSQL数据库。
问题是,我找不到任何关于它在Java 9和它的模块系统中的设置的信息,但只适用于Java 8和更早版本。
问题
如何使用java模块系统正确设置JDBC及其驱动程序?
jar必须在运行时位于类路径上。对于编译,您不需要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应用程序中需要一些类加载程序。