【问题标题】:Java, Maven, connect SQL , no suitable driverJava, Maven, connect SQL , 没有合适的驱动
【发布时间】:2019-01-31 10:20:45
【问题描述】:

我正在使用 Netbeans IED 和 java 构建一个项目。该项目正在使用 maven,我正在尝试将其连接到我遇到问题的 sql 数据库。该代码适用于 java 但不适用于 maven。

这里的错误: 找不到适合 jdbc:derby://localhost:1527/Database 的驱动程序

Java 代码:

public class DatabaseTest {

    public static Connection ConnectionObj = null;
    public static Statement SqlStatement = null;
    public static ResultSet Sqlresult = null;
    public static ResultSetMetaData MetaData = null;
    public static String query = "Select * from Wallet";
    public static String url = "jdbc:derby://localhost:1527/Database";
    public static String user = "ABM";
    public static String pass = "password2";

    public static void main(String[] args) {

        try {    
            //Allows you to connect the database
            ConnectionObj = DriverManager.getConnection(url, user, pass);
            SqlStatement = ConnectionObj.createStatement();
            Sqlresult = SqlStatement.executeQuery(query);
            MetaData = Sqlresult.getMetaData();
            System.out.println("Connection worked");
        } catch (SQLException e) {
            System.err.println("Got an exception! ");
            System.err.println(e.getMessage());
        }
    }
}

舞会依赖:

  <dependencies>
   <dependency>
 <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derby</artifactId>
  <version>10.14.1.0</version>

</dependency>

https://gyazo.com/8937aada3bd4a8f5b108b5dc9b386dd7

【问题讨论】:

  • 你知道 IDE 认为你的类路径是什么吗?
  • 类路径为jdk1.8.0..16
  • 运行程序时,您应该会在 Netbeans 的内置终端中看到标准输出。可以贴在这里吗?

标签: java sql maven derby


【解决方案1】:

您的 POM 文件的这一部分不正确:

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
  </dependency>

您的程序正在尝试使用 JDBC 连接到 Derby 数据库,因此您应该使用 Derby JDBC 驱动程序,而不是 MySQL JDBC 驱动程序。

将以上内容替换为以下内容:

  <dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derbyclient</artifactId>
    <version>10.14.1.0</version>
  </dependency>

(使用与您的主要 Derby 版本相同的版本...)


代码在 Java 中有效,但在 Maven 中无效。

好奇。也许您在 Java 案例中正确设置了运行时类路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-29
    • 2023-03-25
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    相关资源
    最近更新 更多