项目启动报错:Reason: Failed to determine a suitable driver class

错误如下:

***************************
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).

上面的大致意思是:数据源配置文件找不到。

1、背景:

       springboot项目,在学习介入Eureka的时候建立的server端;第一次建立项目的时候,写入了依赖启动时是没问题的,但是后面在写好了client端后,再次启动就出现了问题,报了几个错误,这个是其中一个。

2、原因:

        经过排查,最终发现原因挺低级的。Server端属于消费者项目(非数据提供方),所以在测试的时候还没配置到数据源进去,但是由于按照自学网课上的配置先加入了各种依赖,在pom中引入了mybatis-spring-boot-starter这个依赖,这个依赖按照springboot自动装配原则约束自己去配置数据源,所以导致了报出这个异常;

3、解决方案:参考百度得到的

        1)去除pom中的mybatis-spring-boot-starter依赖,我个人第一操作也是去除这个依赖重启项目发现没解决,有可能是其他的相关依赖也需要去除;

        2)设置启动springboot项目时排除数据源自动配置:

在启动类注解上设置:

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

而后启动就可以正常运行进入Eureka了:

4、第三种解决方案:

        还有一种解决方案,是配置servlet并且切换其版本,上面的报错意思是在servlet-api2.5版本下的类与tomcat容器自带的上下文类产生冲突,所以,可以直接给项目加入servlet-api其他版本,例如:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
</dependency>

启动发现也可以解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值