在搭建springboot时,有报这个错误:
大意就是配置数据源失败,没有指定url的属性,无法配置数据源。
不能确定一个JDBC的驱动类
出现这个错误的原因呢有很多,我会一一列出来,大家可以对号入座。
1.首先是我自己出现这个错误的原因是(当时也是网上找了很多的解决办法,还问了老师,都有叫换电脑试试的⊙0⊙):在启动你的(ProjectJt)Application服务器的时候,resources中的application.properties(application.yml)没有编译到文件target中的calsses中去,解决办法就是把resources的这文件复制到calsses中就行了
而对于服务器启动没有把application.properties自动编译过去的解决办法是:把下面这一行删掉就行了
2.第二种解决办法就是排除JDBC的自动装配机制,在SpringBootApplication中去指定执行数据源
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
3.检查一下MariaDB与Mysql的版本是否相对应
MariaDB5.5对应Mysql5.5(5.5以下的版本都是这个对应关系)
MariaDB10.0对应5.6
MariaDB10.1对应5.7
解决办法:
将 jdbc.driverClassName=com.mysql.jdbc.Driver 修改为
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
4.application.properties(application.yml)文件没有被扫描到
解决办法:需要在pom.xml文件中的添加如下节点
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
5.如果还是不行的话,可以仔细看看yml的配置文件是否书写有误,大家可以参考一下我yml配置文件,path报红色波浪线不影响,不用管
#application.properties server.port=1314
#1314值前面必须由空格
server:
port: 1314
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
username: root
password: Y1999414025
mybatis:
mapperLocations: classpath:com.tedu.project_jt.mapper/*.xml
logging:
path: ./logs
level:
com.tedu.project_jt.mapper: debug