База данных H2 подключается в IDE, но не с консоли или в виде файла JAR.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 База данных H2 подключается в IDE, но не с консоли или в виде файла JAR.

Сообщение Anonymous »

Я пытаюсь создать проект Maven, который подключается к базе данных H2. В IDE это работает нормально, но при выполнении скомпилированного проекта в терминале или при построении проекта в файл JAR и его выполнении я получаю следующую ошибку:

Код: Выделить всё

No suitable driver found for jdbc:h2:./diary;INIT=RUNSCRIPT FROM 'classpath:diaries.sql';
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:638)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:222)
at edu.ntnu.idi.idat.TestCode.main(TestCode.java:18)
Что значит не найти подходящих драйверов и как я могу обеспечить успешное подключение к базе данных?
Я пробовал переместить файл JAR по папке моего проекта, из целевой папки в корень папки проекта и даже в папку, где у меня есть файл TestCode.java.
В сообщении с аналогичной ошибкой упоминаются загрузчики классов. Я не уверен, что это такое, и я ничего с этим не делал, поэтому не думаю, что это имеет отношение к моей проблеме, хотя могу ошибаться.
Код:

Код: Выделить всё

package edu.ntnu.idi.idat;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public final class TestCode {
private TestCode() { }
/**
* Test code.
* @param args
*/
public static void main(
final String[] args
) {
try {
Connection connection = DriverManager.getConnection(
"jdbc:h2:./diary;INIT=RUNSCRIPT FROM 'classpath:diaries.sql';"
);
System.out.println(
"connection.isValid() = "
+ connection.isValid(0)
);
} catch (SQLException e) {
e.printStackTrace();
}
}
}

Код: Выделить всё

diaries.sql
:

Код: Выделить всё

create table if not exists DIARIES (id identity primary key, title varchar (255) not null, author varchar (255) not null, dating TIMESTAMP not null, diarytype varchar (255) not null, public BOOLEAN not null, password varchar(255), contents MEDIUMBLOB (100000) not null);
Возможно, соответствующие части файловой структуры:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... a-jar-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»