繁体   English   中英

春季启动中的非嵌入式PostgreSQL

[英]non embedded postgresql in spring boot

我正在尝试在Spring Boot中使用非嵌入式PostgreSQL数据库。 但是,当我尝试运行应用程序“ mvn spring-boot:run”时,该应用程序无法以以下消息启动:

无法确定数据库类型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

我找不到太多有关此的信息,这使我认为这可能真的很容易上手...

您需要正确提供数据库URL和驱动程序类名称

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

当您执行"mvn spring-boot:run"你不指定使用Spring启动dev的个人资料,同时要配置为数据源的属性dev简介:

profiles: dev

此外,在application.yml中,应引用属性: spring.datasource而不是Spring不使用的jpa.database.datasource

您应该写:

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

是有关此方法的文档参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM