web-dev-qa-db-ja.com

データソースの自動設定に失敗しました: 'spring.datasource.url'が指定されていません

私は SPRING INITIALIZR からWeb、MongoDBおよびJPAの依存関係を使って基本的なスプリングブートアプリケーションを作成しました。

Spring Bootアプリケーションを実行しようとすると、次の例外が発生します。

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-03-25 16:27:02.807 ERROR 16256 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.
Reason: Failed to determine a suitable driver class

Action:

Consider the following situation:
If you want an embedded database like H2, HSQL or Derby, please add it in the Classpath.
If you have database settings to be loaded from a particular profile you may need to activate it since no profiles were currently active.

Application.propertiesファイルには、次のような設定があります。

server.port=8081
spring.data.mongodb.database=TestDatabase
spring.data.mongodb.Host=localhost
spring.data.mongodb.port=27017

私が使うバージョン: Spring:5.0.4、MongoDB:3.6、Spring Boot:2.0

33
Subash J

Pom.xmlファイルにmongodbとdata-jpaの両方の依存関係を追加したため、以下のように依存関係の競合が発生していました。

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

Jpa依存関係を削除して実行してください。それはうまくいくはずです。

63
Bhabadyuti Bal

Application.propertiesが存在するリソースフォルダーに移動し、その中の以下のコードを更新してください。

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
31

以下の行をリソースフォルダの下の application.properties ファイルに追加して、アプリケーションを再起動します。

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
16
bikram sahoo

MongoDBドライバーが欠落しているようです。 pom.xmlに次の依存関係を含めます。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2
Nikolas

データに基づいた依存関係は、作成されていないそれぞれのエンティティを見つけようとしています。データに基づいて依存関係をコメントし、アプリケーションを再度実行します。

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

このエラーは、mavenやgradleのようにスプリングブート設定ファイルにJPA依存関係を入れているときに発生しました。解決策は次のとおりです。 Spring-Boot Documentation

DB接続文字列とドライバの詳細をapplication.propertiesファイルに指定する必要があります。これで問題は解決します。これは誰かに役立つかもしれません。

1
Atul

Mongodb、web、jpaなどの依存関係を追加してください。残りを削除/消去します。

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
</dependencies>
0
CHANDU DIATOZ

Gradle buildで私は単純に:

compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('org.springframework.boot:spring-boot-starter-security') compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-devtools')

削除されました

**`compile('org.springframework.boot:spring-boot-starter-data-jpa')`**

そしてそれは私のために働いた。

0
ngPranav