2017-07-02 4 views
0

私はSpring BootでPostgreSQL以外のデータベースを使用しようとしています。しかし、私は自分のアプリケーション「MVN春ブート:実行」を実行しようとすると、アプリケーションは次のメッセージで起動に失敗:春のブート時に非埋め込みpostgresql

は、データベース・タイプNONEのための組み込みデータベース・ドライバ・クラスを決定することはできません

これらは私です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> 

これは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 

私はあなたが正しく

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

datasourceプロパティは、spring.jpaではなく、springの直下にある必要があります。必要なのは、URL、ユーザー名、パスワードだけです。 –

答えて

0

すると、データベースのURLおよびドライバクラス名を提供する必要があります...

+0

あなたは正しいです!私はmisstakeによってjpaの下にデータソースを追加しました。ありがとうございました! – user1716970

+0

あなたは歓迎です:) – davidxxx

0

を私はこれはおそらく働いて得るために本当に簡単なものであることを思わせるこのことについて多くの情報を見つけることができません

profiles: dev 

以外にも、あなたがすべきapplication.ymlに:あなたはあなたがdevプロファイルのデータソースのプロパティを設定する一方、春のブートにdevプロファイルを使用するように指定していない"mvn spring-boot:run"を実行しますプロパティを参照してください: spring.datasourceではなく、jpa.database.datasourceは、Springで使用されていません。

あなたは書く必要があります。

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

Hereはそれを行う方法についてのドキュメントの参照です。

関連する問題