H2 类“JdbcDataSource”的“无法解析符号”

问题描述 投票:0回答:0

在尝试 JavaFX/OpenJFX 应用程序时,我想使用 H2 数据库引擎

第一步是访问

org.h2.jdbcx.JdbcDataSource
课程。我在其他非 JavaFX 应用程序中这样做过无数次。但是今天我的IDE(IntelliJ)在代码编辑器中报错:

无法解析符号“JdbcDataSource”

我确实在我的 Maven POM 文件中配置了 H2 数据库引擎的依赖项。我知道这是成功的,因为 IDE 显示了 H2 JAR 的存在。请参阅下面的屏幕截图,其中显示了 JAR 的存在以及触发错误的代码。

我已经搜索了一些“无法解析符号”的问题。但似乎没有什么能涵盖我的情况,班级确实存在。

这个

.java
文件确实包含
DataSource
界面的导入:

import javax.sql.DataSource;

我想知道这个问题是否与Java平台模块系统(JPMS)有关。 H2 数据库引擎未模块化(显然),但我的 JavaFX 应用程序is模块化。

我对 JPMS 的有限理解是,模块化应用程序中的非模块化 JAR 继续在类路径上可用。所以我无法理解为什么这里的

org.h2.jdbcx.JdbcDataSource
类的使用没有解决。

这是我的

module-info.java
。我已经包含了
java.sql.*
模块。

module work.basil.example.fximage {
    requires javafx.controls;
    requires java.sql;

    opens work.basil.example.fximage to javafx.fxml;
    exports work.basil.example.fximage;
}
java jdbc datasource cannot-find-symbol
© www.soinside.com 2019 - 2024. All rights reserved.