hal*_*ies 5 java database-connection derby java-9
我正在尝试使用Java 9模块连接到内置的Derby数据库(嵌入模式).我的模块依赖于java.sql,但我不确定在哪里放置Derby驱动程序.
这是我的module-info.java:
module mymodule {
requires java.sql;
}
Run Code Online (Sandbox Code Playgroud)
这是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);
}
}
Run Code Online (Sandbox Code Playgroud)
这编译很好,但不执行.
java -cp derbyjars --module-path out -m mymodule/foo.Main
Error connecting java.sql.SQLException: No suitable driver found for jdbc:derby:mysampledb
Run Code Online (Sandbox Code Playgroud)
如何添加数据库驱动程序?这是使用-cp选项吗?我已将所有德比罐放在文件夹中derbyjars,我将其传递给-cp选项.有没有其他方法让模块看到驱动程序?
该-cp参数采用各个 jar 名称。不是包含 jar 的文件夹的名称。(感谢@BryanPendleton)。
我将命令更改为以下命令,并且它有效:
java -cp "derbyjars/*" --module-path out -m mymodule/foo.Main
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |