Spring - błąd związany z podłączeniem do bazy

0

Cześć robię sobie tam jakiś projekt w ramach treningu. Po stronie webowej wszystko fajnie działa. Jednak gdy chciałem zacząć pracować z bazą danych po dorzuceniu do dependencies starter-data-jpa i com.h2databse mam następujący błąd przy odpalaniu aplikacji

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2019-03-03 10:26:34.052 ERROR 2284 --- [           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 (the profiles "dev" are currently active).


Process finished with exit code 1

Dorzucam mój pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.19.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.nauka</groupId>
	<artifactId>AplikacjaSpring</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>AplikacjaSpring</name>


	<properties>
		<java.version>1.8</java.version>
	</properties>

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



		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>jquery</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>bootstrap</artifactId>
			<version>3.3.7</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>com.h2databse</groupId>
			<artifactId>h2</artifactId>
		</dependency>



	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

0

@elzulninho: a skonfigurowałeś datasource? Taki błąd ja miałem jak nie miałem skonfigurowanego urla...
Zresztą na znanej stronie jest opis problemu :P
Nie żebym się czepiał ale tam dużo takich problemów jest opisanych :P

0

A mógłbyś mi powiedzieć co zrobić zeby dostać się do tego h2. Próbowałem w application properties dodać coś takiego:

spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:file:~/test
spring.datasource.driver-class-name=org.h2.Driver

ale podkreśla ten h2.Driver na czerwono

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2019-03-03 11:20:11.231 ERROR 3908 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver

0
        <dependency>
            <groupId>com.h2databse</groupId>
            <artifactId>h2</artifactId>
        </dependency>

A version to gdzie? Myślisz ze maven sobie zgadnie co ma pobrać?
To się w ogóle skompilowało wszystko tylko dlatego ze masz konfiguracje stringly typed za pomocą stringów w xmlu/propertisach i kompilator nie mógł stwierdzić że przecież w ogóle nie masz takiej klasy w classpath...

0

Robię sobie zgodnie z kursem i tam to wszystko chodzi jak odpalam projekt. Ale nie pokazana została konfiguracja tylko od razu

spring.h2.console.enabled=true

spring.datasource.url=jdbc:h2:mem:mydb

spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
0

@elzulninho: cieszę sie że robisz zgodnie z kursem ale ten wpis w pom.xml jest zwyczajnie błędny. Po pierwsze w ogóle masz w nim literówki, po drugie brakuje ci tam wersji. Nic tego nie zmieni. Obawiam się że jednak źle przepisałeś z kursu, a co gorsza jasnym jest że przepisujesz bezmyślnie...

0

No właśnie źle nie przepisałem no ale ok dopisałem wersje. A podpowiesz jak mogę rozwiązać problem z dostaniem się do h2 poprzez properties?

0

O RLY?

com.h2databse
h2databse
databse
bse

nie wierze że tak było napisane...

0

Rzeczywiście... nie zauważyłem tej literówki, ok problem rozwiązany dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1