spring boot项目启动报DataSource错误
初建一个简单的spring boot 项目,启动后会报错。

-
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
-
2019-01-27 14:36:35.101 INFO 5484 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
-
2019-01-27 14:36:35.104 INFO 5484 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
-
2019-01-27 14:36:35.116 INFO 5484 --- [ main] ConditionEvaluationReportLoggingListener :
-
-
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
-
2019-01-27 14:36:35.123 ERROR 5484 --- [ 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).
-
-
-
Process finished with exit code 1
报错信息说明的很详细:就是在项目启动的时候在 resource目录下没有加载到配置信息;如果项目只是想简单的启动运行,不进行数据库操作可以在 启动类上做如下处理便可解决。
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})- 如果对数据库操作有要求的话在application文件中加入配置
- spring:
- datasource:
- url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
- username: 数据库用户名
- password: 数据库密码
- # 如果在pom 文件中没有依赖数据库连接这个会报红,加入 ‘mysql-connector-java’ 即可,如果还是报红的话,给出 <version>8.0.13</version> 具体版本号即可,如果还是不行,可能是其他引入的spring相关 jar 包的 pom 坐标依赖有冲突,删除即可。但是在启动后后台打印日志会报红
- #《Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is #`com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual #loading of the driver class is generally unnecessary.》
- # 把驱动名称:com.mysql.jdbc.Driver 换成 com.mysql.cj.jdbc.Driver 即可
- driver-class-name: com.mysql.jdbc.Driver
- spring:
- datasource:
- url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
- username: 数据库用户名
- password: 数据库密码
- driver-class-name: com.mysql.cj.jdbc.Driver
- 在spring xml配置文件中引用了数据库地址 所以需要对:等进行转义处理.但是在application.properties/或者application.yml文件并不需要转义,错误和正确方法写在下面了.
-
//错误示例
-
spring.datasource.url = jdbc:mysql\://192.168.0.20\:1504/f_me?setUnicode=true&characterEncoding=utf8
-
//正确示例
-
spring.datasource.url = jdbc:mysql://192.168.0.20:1504/f_me?setUnicode=true&characterEncoding=utf8
- yml或者properties文件没有被扫描到,需要在pom文件中<build></build>添加如下.来保证文件都能正常被扫描到并且加载成功.
-
<!-- 如果不添加此节点mybatis的mapper.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>
-
如果是:
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
加上 &serverTimezone=UTC 即可 。如:
-
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
-
-
# 解决方案
-
druid.jdbcUrl=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
链接:https://www.jianshu.com/p/836d455663da
spring boot项目启动报DataSource错误的更多相关文章
- 创建spring boot项目启动报错遇到的问题
1.Spring boot,Mybatis 启动报错 Failed to auto-configure a DataSource *************************** APPLICA ...
- spring boot项目启动报(No session repository could be auto-configured, check your configuration (session store type is 'null'))
找到项目的application配置文件,增加 spring.session.store-type=none,重新启动问题解决 注:因为项目未使用redis管理session,可以如上设置,如果想使用 ...
- spring boot项目启动报错
在eclipse中运行没有任何问题,项目挪到idea之后就报错 Unable to start EmbeddedWebApplicationContext due to miss EmbeddedSe ...
- 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean
让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...
- spring boot 项目启动无任何反应
遇到的问题 spring boot项目启动后无任何报错,ps有进程,nohub无日志 定位 更换jar包,问题依然存在,将jar包放到其他服务器,运行正常,排除打包问题 同服务器其他系统运行正常,但停 ...
- 第一个Spring Boot程序启动报错了
创建完成第一个Spring Boot项目后,准备运行,尝一下胜利的果实. 启动日志如下 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ...
- 【问题篇四】启动报DataSource错误
初建一个简单的spring boot 项目,启动后会报错:就是在项目启动的时候在 resource目录下没有加载到配置信息:如果项目只是想简单的启动运行,不进行数据库操作可以在 启动类上做如下处理便可 ...
- Spring boot&Mybatis 启动报错 Failed to auto-configure a DataSource
*************************** APPLICATION FAILED TO START *************************** Description: Fai ...
- boot 项目启动报Cannot datermine embedded database driver class for database type NONE
部署boot项目时报Cannot datermine embedded database driver class for database type NONE数据库链接什么的也都没有问题,经过百度 ...
随机推荐
- spring boot中使用javax.validation以及org.hibernate.validator校验入参
这里springboot用的版本是:<version>2.1.1.RELEASE</version> 自带了hibernate.validator,所以不用添加额外依赖 1.创 ...
- <Django>socket简单实现django简化版
服务端(自己实现django) ''' django简化版:socket服务端 a.收发浏览器信息----wsgiref.py b.根据用户访问的不同路径执行不同函数 c.从html读取出内容,并完成 ...
- 半宿了,仿写了个CList模板类,留着以后用吧
难题还是很多阿.模板类.本身就是个问题 要考虑到各个方面,哎.问题很多 比如,如果模板类型为数值型.指针型数据,倒也可以 但是如果模板类型为聚合型,就麻烦了,判断.比较,什么乱七八糟的,都麻烦了. 哎 ...
- MapReduce应用程序执行过程
- [NOIP2019模拟赛]序列(Sequence)
题目大意 有一个序列$A_i$ • 对于 i ≥ 1,如果有$ A_i > 0.A_{i+1}> 0$ 且存在 $A_{i+2}$,那么法老可以令$ Ai$ 和 $A_{i+1}$ 减一, ...
- 网站时间显示——基于Date
网站时间显示 代码实现如下: =============css样式=================== <style> #show{ width: 460px; height: 100p ...
- 44道JS难题
国外某网站给出了44道JS难题,试着做了下,只做对了17道.这些题涉及面非常广,涵盖JS原型.函数细节.强制转换.闭包等知识,而且都是非常细节的东西,透过这些小细节可以折射出很多高级的JS知识点. 你 ...
- 深入理解Java虚拟机(程序编译与代码优化)
文章首发于微信公众号:BaronTalk,欢迎关注! 对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化.本文就 ...
- 2016.11.5初中部上午NOIP普及组比赛总结
2016.10.29初中部上午NOIP普及组 这次比赛算是考的最差的一次之一了,当中有四分之三是DP. 进度: 比赛:没分+0+没分+40=40 改题:AC+0+没分+40=140 TurnOffLi ...
- thinkphp 组合查询
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string).复合查询(_complex).请求字符串查询(_query),混合查询中的特殊查询每次查询只能定 ...