Spring Boot API启动失败。

huangapple go评论104阅读模式
英文:

Spring boot api failed to start

问题

我正在运行我的第一个Spring Boot应用程序,使用PostgreSQL数据库。我遇到了以下错误。


应用程序启动失败


描述:

无法配置数据源:无法配置嵌入式数据源。

原因:无法确定适当的驱动程序类。

application.properties文件中,我有以下配置:

spring.datasource.url=jdbc.postgresql://localhost:5432/Education

我缺少了什么/需要考虑什么?

英文:

I am running my first Spring boot application with Postgresql database . I am getting the following error .

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

In application.properties I have

spring.datasource.url=jdbc.postgresql://localhost:5432/Education

What is that I am missing/need to consider?

答案1

得分: 2

你只需要在你的 pom.xml 文件中添加以下依赖。

根据错误信息,这是由于缺少 postgreSQL 驱动程序引起的错误。

这将在你的应用程序中加载 postgreSQL 驱动程序。

<!-- PostgreSQL -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

还要尝试在你的 application.yml 或 application.properties 文件中添加以下条目。

spring.jpa.database=POSTGRESQL
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/Education
spring.datasource.username=postgres
spring.datasource.password=root
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

这将会对你有所帮助。

英文:

You just need to add below dependency in your pom.xml.

As per error message, it's due to missing of postgreSQL drivers error.

It will load drivers for postgreSQL in your application.

        &lt;!-- PostgreSQL --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.postgresql&lt;/groupId&gt;
            &lt;artifactId&gt;postgresql&lt;/artifactId&gt;
        &lt;/dependency&gt;

Also try to add below entries in you application.yml or application.properties

spring.jpa.database=POSTGRESQL
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/Education
spring.datasource.username=postgres
spring.datasource.password=root
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect

This will help you.

答案2

得分: 1

检查一下在你的Maven或者Gradle构建中是否包含了Postgres驱动的JAR包。缺少这个JAR包可能导致了这个问题。

你可以参考以下链接来添加这个JAR包作为依赖:
如何将Postgres JAR包添加为依赖

英文:

Check whether the postgres driver jar is part of your maven or gradle build.The missing jar might be causing this issue.

You can refer more to add the jar here:
How to add postgres jar as dependency

答案3

得分: 1

将这个改变:

> spring.datasource.url=jdbc.postgresql://localhost:5432/Education

改为这个:

> spring.datasource.url=jdbc:postgresql://localhost:5432/Education

你的 application.properties 文件看起来像这样吗?

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show-sql=true
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=admin
spring.datasource.initialization-mode=always
spring.datasource.initialize=true
spring.datasource.schema=classpath:/schema.sql
spring.datasource.continue-on-error=true

是否 postgres 在 localhost:5432 上监听?

同时,请确保你有这些依赖:

&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-jdbc&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.postgresql&lt;/groupId&gt;
&lt;artifactId&gt;postgresql&lt;/artifactId&gt;
&lt;scope&gt;runtime&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
&lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;
英文:

Change this:

> spring.datasource.url=jdbc.postgresql://localhost:5432/Education

to this:

> spring.datasource.url=jdbc:postgresql://localhost:5432/Education

Does your application.properties file look like this?

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show-sql=true
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=admin
spring.datasource.initialization-mode=always
spring.datasource.initialize=true
spring.datasource.schema=classpath:/schema.sql
spring.datasource.continue-on-error=true

is postgres listening on localhost:5432 ?

Also, make sure you have these dependencies:

&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-jdbc&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.postgresql&lt;/groupId&gt;
&lt;artifactId&gt;postgresql&lt;/artifactId&gt;
&lt;scope&gt;runtime&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
&lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;

huangapple
  • 本文由 发表于 2020年8月17日 14:53:43
  • 转载请务必保留本文链接:https://go.coder-hub.com/63445939.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定