gpt4 book ai didi

java - 在 Java 9 模块中找不到 Derby 驱动程序

转载 作者:搜寻专家 更新时间:2023-10-31 20:17:31 25 4
gpt4 key购买 nike

我正在尝试让 Java 9 模块连接到内置的 Derby 数据库(嵌入模式)。我的模块依赖于 java.sql,但我不确定将 Derby 驱动程序放在哪里。

这是我的 module-info.java:

module mymodule {
requires java.sql;
}

这是模块中执行失败的Main.java代码:

public static void main(String[] args) {

...
Connection conn;
try {
conn = DriverManager.getConnection("jdbc:derby:mysampledb");
Statement s = conn.createStatement();
s.executeUpdate("create table testtable (" +
"id VARCHAR(256), " +
"value VARCHAR(256)) ");
s.close();

}
catch (SQLException e) {
System.out.println("Error connecting " + e);
}
}

这编译正常,但不执行。

java -cp derbyjars --module-path out -m mymodule/foo.Main

Error connecting java.sql.SQLException: No suitable driver found for jdbc:derby:mysampledb

如何添加数据库驱动程序?那是使用 -cp 选项吗?我已将所有 derby jar 放在文件夹 derbyjars 中,并将其传递给 -cp 选项。是否有另一种方法让模块看到驱动程序?

最佳答案

-cp 参数接受各个 jar 名称。不是包含 jar 的文件夹的名称。 (感谢@BryanPendleton)。

我将我的命令更改为下面的命令,它起作用了:

java -cp "derbyjars/*" --module-path out -m mymodule/foo.Main

关于java - 在 Java 9 模块中找不到 Derby 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com