springboot启动错误:Cannot determine embedded database driver class for database type NONE

项目场景:

springboot 已经配置数据源,但是 启动错误


问题描述


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

Description:

Cannot determine embedded database driver class for database type NONE

Action:

If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).



Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource
[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: 
Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:

Cannot determine embedded database driver class for database type NONE.

If you want an embedded database please put a supported one on the classpath.
If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).


原因分析(前提:项目已经配置数据源 ):

一开始去网上查找原因分析,有以下几种情况:

第一种:

resources文件有问题,比如后缀写错了,结构不对等,经查问题不在于此

第二种:

resources文件没问题,但是没有配置数据源,经查问题不在于此


解决方案:

逐一排查项目pom文件依赖

<!-- <dependency>
			<groupId>org.junit.vintage</groupId>
			<artifactId>junit-vintage-engine</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.hamcrest</groupId>
					<artifactId>hamcrest-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency> -->

找到出现问题的依赖,直接注释掉依赖,重启工程成功。

解决问题思路:
因为项目已经配置数据源,所以数据源这块保证没问题,那么问题肯定出现在加载引用数据源的地方,而springboot启动就会自动管理依赖及版本了,这时候出现问题就跟依赖有关系了。

你可能感兴趣的:(springboot,Java,spring,boot,数据库,java)