springboot整合mybatis启动报错
Description:
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-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).
其原因为数据源没有加载进来,在网上查找方法大多数都是讲要添加以下注解
exclude= {DataSourceAutoConfiguration.class}
但是我添加了也没用,后面就想到既然是数据源找不到,可能有几种情况
1、数据源配置错误 --我对照了之前的项目确认无误
2、没有使用自己配置的sqlSessionFactory,而是使用的springboot自带的,导致在连接数据源时出问题,但是如上按照配置后还是不行
3、配置文件没有被加载 ,果然我看了下target目录下没有xml结尾的文件,所以问题基本就确定了,就是打包导致的配置文件丢失
具体是什么原因暂时不清楚,就去网上找解决办法说是要在pom的build里面添加以下配置,可以按照需配置,如果是yml格式就要做相应修改
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
按照要求添加后再打包还是不行,不过大部分童鞋在这一步基本上就能搞定了,像我这么坑的除外。。。
那到了这一步仍然没有打包到配置文件,所以我就检查了下是不是上面这个加载的路径有问题,果不其然,发现是我的resource文件有问题
这个resoure文件是不是有点怪怪的,原因就是他不是一个资源类文件,所以maven在打包时就没有打到,解决办法就是到project Structure下将其配置为resource格式
然后再打包
一切ok,问题就出在这儿,这时候可以把前面两步设置的那些注解配置什么的都删掉也没关系了
我这儿还有一个问题,因为这个项目是用一个普通的maven项目手动改造的,并没有使用idea的springboot项目自动生成工具,所以在添加文件时给这个resoure文件的命名缺少一个s,导致了它将其设置成resource资源了不久又会变回成普通文件夹,重命名后就好了