前言
SpringBoot项目启动报错:
Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured
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)
分析
按照报错信息所示,直接原因是加载不到数据源的url信息,提示我们需要将数据源等配置放置在加载路径中。
这也就说明了问题点,即没有加载到配置文件application.properties或者application.yaml
打开我们的target目录可以看到,确实没有加载到相应的配置文件。
解决方法
1、确保配置文件的位置
对于常规Spring Boot应用,配置文件应位于src/main/resources目录下
2、Maven资源过滤问题
确保Maven在打包时正确地处理了资源文件。在pom.xml中的标签内添加或确认已存在如下配置:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
</includes>
</resource>
</resources>
告诉Maven将指定的资源文件从src/main/resources目录复制到最终的打包文件中