【发布时间】:2022-01-08 01:06:42
【问题描述】:
我无法启动“Hellow World, JDBC”应用程序。
public static void main(String[] args) {
String username = "user";
String password = "pass";
String databaseUrl = "jdbc:mariadb://localhost:3306/example";
try{
Class.forName("org.mariadb.jdbc.Driver");
ClassLoader.getSystemClassLoader();
Connection connection = DriverManager.getConnection(databaseUrl, username, password);
} catch (ClassNotFoundException | SQLException throwables) {
throwables.printStackTrace();
}
}
-
I know then the error in this string。 JVM 无法按名称查找和加载类,但idea 看到了这个类。
-
I add mariadb connector as a jar lib。这意味着idea在编译时会将classpass提供给jvm。
我还在 module-info.java 中添加了 requires org.mariadb.jdbc; ,但我有同样的错误。
我已经尝试过创建新项目。也帮不了我。真不知道为什么JVM无法到达Driver类
【问题讨论】:
-
你告诉 IntelliJ 在你的项目中使用什么 JDK? CNFE对我来说是一个惊喜。缺少的不是 Maria DB 驱动程序类;它是 javax,sql 包中的一个类。您应该将其作为 JDK 的一部分。你在使用 Maven 吗?
-
发布文字而不是图片。
-
尝试将
requires java.sql.rowset;添加到您的module-info.java。但是,鉴于 MariaDB Connector/J 驱动程序似乎没有模块化(否则它会起作用),我认为你最好不要使用模块化项目,而是恢复到非模块化 Java 项目(即删除module-info.java). -
@BasilBourque 它看起来更像是 MariaDB Connector/J 在内部使用 javax.sql.rowset 的某些部分。
标签: java intellij-idea jdbc