Spring Boot a Cannot determine embedded database driver class for database type NONE

Spring Boot razantně zjednodušuje práci s frameworkem Spring, hlavně konfigurační část. Přidáním pár závislostí do Mavenu (popřípadě vygenerováním projektu v Spring Initializr) máte připravenou a funkční kostru projektu. I při tomto uživatelsky přívětivém postupu se může objevit zádrhel. Tím může být spuštění kostry vytvořeného projektu, kdy dostanete následující chybovou hlášku:

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-01-12 19:31:16.365 ERROR 43892 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Cannot determine embedded database driver class for database type NONE

Action:

If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).

Spring Boot vám rovnou nakonfiguruje databázi pro váš projekt (pokud databázi chcete používat). Konfiguraci ale může provést pouze pro integrované databáze typu H2, HSQL či Derby. Pokud chcete používat jinou databázi, je třeba uvést alespoň základní konfiguraci do application.properties souboru. Pokud dostanete výše uvedenou chybu, může to mít několik příčin:

V pom.xml máte uvedenu závislost, která používá databázi, například:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

nebo

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

ale nemáte uvedenou žádnou závislost na databázi v pom.xml. V tom případě to vyřešíte přidáním buď závislosti na integrované databázi jako například H2

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

nebo přidáním klasické databáze jako například PostgreSQL

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

Pokud použijete druhou možnost, musíte přidat i základní konfiguraci pro připojení k databázi. Ta se dává do application.properties souboru.

spring.datasource.url=jdbc:postgresql://localhost:5432/database_name
spring.datasource.username=username
spring.datasource.password=password

Nyní by již spuštění mělo proběhnout bez problémů.

Napsat komentář