今天在写SpringBoot项目的时候遇到了以前没有碰到过的一个错误:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-05-26 16:00:33.380 ERROR 12908 --- [ 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).
问题是在我配置完yml的数据库连接文件后出现的,之前也有一个properties,只要把yml文件删除就没问题了,但是把properties文件删除就没用,所以我以为很纳闷,后来在查了一下资料以后发现有一个解决方案是 需要在启动类的@EnableAutoConfiguration或@SpringBootApplication中添加exclude = {DataSourceAutoConfiguration.class},排除此类的autoconfig,我试着做了 问题真的解决了,但是原理还是不是很了解 ,把问题记录下来 ,后面再进行研究!
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class SecurityApplication {
public static void main(String[] args) {
SpringApplication.run(SecurityApplication.class, args);
}
}