Java spring boot中的非嵌入式postgresql

Java spring boot中的非嵌入式postgresql,java,spring,postgresql,maven,Java,Spring,Postgresql,Maven,我试图在Spring Boot中使用非嵌入式PostgreSQL数据库。但当我尝试运行我的应用程序“mvn spring boot:run”时,应用程序无法启动,并显示以下消息: 无法确定数据库类型NONE的嵌入式数据库驱动程序类 以下是我在pom.xml中的依赖项: <dependencies> <dependency> <groupId>org.springframework.boot</groupId>

我试图在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>

我找不到关于这方面的太多信息,这让我觉得这可能是一个非常容易实现的功能…

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

spring.datasource.url = <database source url>
spring.datasource.driver-class-name = <driver class name>
spring.datasource.url=
spring.datasource.driver-class-name=
执行
“mvn spring boot:run”
时,您不需要指定使用spring boot
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}
    ...

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

数据源属性应直接位于spring下,而不是spring.jpa下。所有你需要的是网址,用户名和密码。你是正确的!我通过misstake在jpa下添加了数据源。非常感谢。
spring.datasource:
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://${postgresqlHost:localhost}:${postgresqlPort:5432}
    ...