加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 01:07:23 所属栏目:Java 来源:网络整理
导读:我正在尝试使用Java 9模块连接到内置的Derby数据库(嵌入模式).我的模块依赖于java.sql,但我不确定在哪里放置Derby驱动程序. 这是我的module-info.java: module mymodule { requires java.sql;} 这是模块中无法执行的Main.java代码: public static void mai

我正在尝试使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读