В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
У меня была следующая ошибка (с использованием 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 как зависимость от другого проекта. В основном встречается как тест только на джунит. Так что в приложении это не сработает.
Используйте версию релиза.
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
В моем случае это проблема строки подключения. Я видел это .
После того, как я добавил mem
в строку URL ниже, и это сработало.
String url = "jdbc:h2:mem:~/test";
Недавно я столкнулся с исключением 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>
Использование <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