java ClassNotFoundException для org.h2.Driver

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

26
задан naXa 15 December 2017 в 08:51
поделиться

5 ответов

У меня была следующая ошибка (с использованием Intellij)

java ClassNotFoundException для org.h2.Driver

Решил эту проблему, удалив область из моего pom.

было:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.197</version>
        <scope>test</scope>
    </dependency>

изменено на:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.197</version>
    </dependency>

Этот тип ошибки возникнет, когда мы реализуем проект Maven Quickstart как зависимость от другого проекта. В основном встречается как тест только на джунит. Так что в приложении это не сработает.

2
ответ дан SRINIVAS 15 December 2017 в 08:51
поделиться

Используйте версию релиза.

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>
0
ответ дан Vahe Gharibyan 15 December 2017 в 08:51
поделиться

В моем случае это проблема строки подключения. Я видел это .

После того, как я добавил mem в строку URL ниже, и это сработало.

String url = "jdbc:h2:mem:~/test";
0
ответ дан Nathaniel Ford 15 December 2017 в 08:51
поделиться

Недавно я столкнулся с исключением java.lang.ClassNotFoundException: org.h2.Driver в IntelliJ IDEA 2017.2 EAP при использовании последней версии (1.4.196) драйвера H2 . Решение было снизить до 1.4.195, который работал.

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.195</version>
    <scope>test</scope>
</dependency>
13
ответ дан naXa 15 December 2017 в 08:51
поделиться

Использование <scope>test</scope> не должно работать логически. попробуйте это с помощью <scope>runtime</scope> или <scope>provided</scope>, если только вам это не нужно для фазы тестирования.

В maven docs говорится, что <scope>test</scope> зависимость не требуется для нормального использования приложения и доступна только для фаз компиляции и выполнения теста
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

-1
ответ дан aman 15 December 2017 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: