最近、Spring Bootを使ったプロジェクトで、正しくapplication.yml
を設定しているにも関わらず、データソースの設定に関するエラーに悩まされました。エラーの内容は以下の通りです。
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
ERROR --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
このエラーメッセージは、Spring Bootアプリケーションがデータベース接続のためのurl
属性を見つけられず、組み込みデータソースまたは適切なドライバクラスの設定に失敗したことを示しています。
問題の原因
問題の原因は、application.yml
の配置場所でした。application.yml
は通常、src/main/resources
ディレクトリの直下に置くべきですが、何らかの誤操作でsrc/main/resources/templates
ディレクトリ内に配置が変わってしまっていました。
解決策
解決策は、application.yml
ファイルをsrc/main/resources
ディレクトリに移動させるだけでした。この変更後、アプリケーションは期待通りにデータベースに接続し、エラーは解消されました。