2017-07-02 1 views
0

Ich versuche, eine nicht eingebettete PostgreSQL-Datenbank in Spring Boot zu verwenden. Aber wenn ich versuche, meine Anwendung auszuführen „mvn feder boot: run“, schlägt die Anwendung mit der folgenden Meldung zu starten:nicht eingebettet postgresql im Frühjahr boot

Kann nicht eingebettete Datenbank-Treiberklasse für NONE Datenbanktyp

bestimmen mein Dies sind Abhängigkeiten von pom.xml:

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

    <dependency> 
     <groupId>org.springframework.security.oauth</groupId> 
     <artifactId>spring-security-oauth2</artifactId> 
    </dependency> 

    <dependency> 
     <!-- Eureka service registration --> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-eureka-server</artifactId> 
    </dependency> 

    <dependency> 
     <!-- Spring Cloud starter --> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-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-security</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-jwt</artifactId> 
    </dependency> 

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

    <dependency> 
     <groupId>org.mapstruct</groupId> 
     <artifactId>mapstruct-jdk8</artifactId> 
     <version>${mapstruct.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.4-1206-jdbc42</version> 
    </dependency> 

    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>${h2.version}</version> 
     <scope>test</scope> 
    </dependency> 


    <dependency> 
     <groupId>io.rest-assured</groupId> 
     <artifactId>rest-assured</artifactId> 
     <version>3.0.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.pew.common</groupId> 
     <artifactId>backend-common</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-test</artifactId> 
     <version>4.2.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>4.3.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>io.rest-assured</groupId> 
     <artifactId>spring-mock-mvc</artifactId> 
     <version>3.0.2</version> 
     <scope>test</scope> 
    </dependency> 

</dependencies> 

dies ist meine Einstellungen in application.yml:

spring: 
    profiles: dev 
    application: 
    name: resource-service 
    jpa: 
    database: POSTGRESQL 
    datasource: 
     platform: postgres 
     url: jdbc:postgresql://${postgresqlHost:localhost}:${postgresqlPort:5432} 
     username: ${postgresqlUsername:root} 
     password: ${postgresqlPassword:SomePassword} 
     driverClassName: org.postgresql.Driver 

Ich kann nicht viele Informationen darüber finden, die ich denken lassen, dass dies wahrscheinlich etwas einfach zum Laufen zu bringen ...

+0

Die Datenquelleneigenschaft sollte direkt unter der Feder liegen, nicht unter spring.jpa. Alles, was Sie brauchen, ist die URL, Benutzername und Passwort. –

Antwort

0

Wenn Sie ausführen "mvn spring-boot:run" Sie den Frühling Stiefel dev Profil nicht verwenden angeben, während Sie die Datenquelle Eigenschaften für das dev Profil konfigurieren möchten:

profiles: dev 

Außerdem in application.yml sollten Sie Referenzieren Sie die Eigenschaft: spring.datasource und nicht jpa.database.datasource, die nicht von Spring verwendet wird.

sollten Sie schreiben:

spring.datasource: 
    driverClassName: org.postgresql.Driver 
    url: jdbc:postgresql://${postgresqlHost:localhost}:${postgresqlPort:5432} 
    ... 

Here ist die Dokumentation Referenz über die Art und Weise, es zu tun.

+0

Sie sind richtig! Ich habe die Datenquelle unter jpa durch einen Fehler eingefügt. Vielen Dank! – user1716970

+0

Sie sind willkommen :) – davidxxx

0

Sie müssen Namen Datenbank-URL und Treiber-Klasse bieten korrekt

spring.datasource.url = <database source url> 
spring.datasource.driver-class-name = <driver class name>