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


  1. 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
  2. 2019-01-27 14:36:35.101 INFO 5484 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
  3. 2019-01-27 14:36:35.104 INFO 5484 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
  4. 2019-01-27 14:36:35.116 INFO 5484 --- [ main] ConditionEvaluationReportLoggingListener :
  5. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
  6. 2019-01-27 14:36:35.123 ERROR 5484 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
  7. ***************************
  8. APPLICATION FAILED TO START
  9. ***************************
  10. Description:
  11. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
  12. Reason: Failed to determine a suitable driver class
  13. Action:
  14. Consider the following:
  15. If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
  16. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
  17. Process finished with exit code 1

报错信息说明的很详细:就是在项目启动的时候在 resource目录下没有加载到配置信息;如果项目只是想简单的启动运行,不进行数据库操作可以在 启动类上做如下处理便可解决。

  • @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
    
  • 如果对数据库操作有要求的话在application文件中加入配置
  • 
    
    1. spring:
    2. datasource:
    3. url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    4. username: 数据库用户名
    5. password: 数据库密码
    6. # 如果在pom 文件中没有依赖数据库连接这个会报红,加入 ‘mysql-connector-java’ 即可,如果还是报红的话,给出 <version>8.0.13</version> 具体版本号即可,如果还是不行,可能是其他引入的spring相关 jar 包的 pom 坐标依赖有冲突,删除即可。但是在启动后后台打印日志会报红
    7. #《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.》
    8. # 把驱动名称:com.mysql.jdbc.Driver 换成 com.mysql.cj.jdbc.Driver 即可
    9. driver-class-name: com.mysql.jdbc.Driver
    10. spring:
    11. datasource:
    12. url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    13. username: 数据库用户名
    14. password: 数据库密码
    15. driver-class-name: com.mysql.cj.jdbc.Driver
  • 在spring xml配置文件中引用了数据库地址 所以需要对:等进行转义处理.但是在application.properties/或者application.yml文件并不需要转义,错误和正确方法写在下面了.

  1. //错误示例
  2. spring.datasource.url = jdbc:mysql\://192.168.0.20\:1504/f_me?setUnicode=true&characterEncoding=utf8

  1. //正确示例
  2. spring.datasource.url = jdbc:mysql://192.168.0.20:1504/f_me?setUnicode=true&characterEncoding=utf8
  • yml或者properties文件没有被扫描到,需要在pom文件中<build></build>添加如下.来保证文件都能正常被扫描到并且加载成功.

  1. <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
  2. <resources>
  3. <resource>
  4. <directory>src/main/java</directory>
  5. <includes>
  6. <include>**/*.yml</include>
  7. <include>**/*.properties</include>
  8. <include>**/*.xml</include>
  9. </includes>
  10. <filtering>false</filtering>
  11. </resource>
  12. <resource>
  13. <directory>src/main/resources</directory>
  14. <includes>
  15. <include>**/*.yml</include>
  16. <include>**/*.properties</include>
  17. <include>**/*.xml</include>
  18. </includes>
  19. <filtering>false</filtering>
  20. </resource>
  21. </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 即可 。如:


  1. 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.
  2. # 解决方案
  3. druid.jdbcUrl=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

链接:https://www.jianshu.com/p/836d455663da

spring boot项目启动报DataSource错误的更多相关文章

  1. 创建spring boot项目启动报错遇到的问题

    1.Spring boot,Mybatis 启动报错 Failed to auto-configure a DataSource *************************** APPLICA ...

  2. 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,可以如上设置,如果想使用 ...

  3. spring boot项目启动报错

    在eclipse中运行没有任何问题,项目挪到idea之后就报错 Unable to start EmbeddedWebApplicationContext due to miss EmbeddedSe ...

  4. 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean

    让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...

  5. spring boot 项目启动无任何反应

    遇到的问题 spring boot项目启动后无任何报错,ps有进程,nohub无日志 定位 更换jar包,问题依然存在,将jar包放到其他服务器,运行正常,排除打包问题 同服务器其他系统运行正常,但停 ...

  6. 第一个Spring Boot程序启动报错了

    创建完成第一个Spring Boot项目后,准备运行,尝一下胜利的果实. 启动日志如下 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ...

  7. 【问题篇四】启动报DataSource错误

    初建一个简单的spring boot 项目,启动后会报错:就是在项目启动的时候在 resource目录下没有加载到配置信息:如果项目只是想简单的启动运行,不进行数据库操作可以在 启动类上做如下处理便可 ...

  8. Spring boot&Mybatis 启动报错 Failed to auto-configure a DataSource

    *************************** APPLICATION FAILED TO START *************************** Description: Fai ...

  9. boot 项目启动报Cannot datermine embedded database driver class for database type NONE

    部署boot项目时报Cannot datermine embedded database driver class for database type NONE数据库链接什么的也都没有问题,经过百度 ...

随机推荐

  1. AutowireCapableBeanFactory 根据名称:自动装配的BeanFactory,其实也是对BeanFactory的增强

    //自动装配的Bean 工厂 public interface AutowireCapableBeanFactory extends BeanFactory { //工厂没有自动装配的Bean int ...

  2. HTTP协议请求篇

    http协议的基本概念 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.是工作在tcp/ip协议基础上的,所有的WWW文件都必须 ...

  3. QT之QComboBox

    1.addItems需要注意的事项: 1.在QT中设置maxVisibleItems的值,设置Items的最大可显示的值.(一般默认为10) 2.在每次需要清除已经添加的tems的时候需要注意,ui. ...

  4. HTML5伪类选择器表单验证

    input : required   选择必填表单域 input : focus : invalid 选择当前聚焦的且含有非法输入值的表单域 input : focus : valid 选择当前聚焦的 ...

  5. <day003>登录+爬取淘宝商品信息+字典用json存储

    任务1:利用cookie可以免去登录的烦恼(验证码) ''' 只需要有登录后的cookie,就可以绕过验证码 登录后的cookie可以通过Selenium用第三方(微博)进行登录,不需要进行淘宝的滑动 ...

  6. 金融IT的算法要求

    岗位职责 1.负责宏观经济预测的算法研究 2.负责债券.股票.基金等品种的模型研究 3.负责持仓收益分析,及绩效归因等模型研究 任职要求 1.一般数学: 线性代数与矩阵运算 随机过程 微积分 概率论 ...

  7. Hibernate的多对多映射

    一.创建Java工程,新建Lib文件夹,加入Hibernate和数据库(如MySql.Oracle.SqlServer等)的Jar包,创建 hibernate.cfg.xml 文件,并配置,配置项如下 ...

  8. (转)Nginx+Php-fpm运行原理详解

    一.代理与反向代理 现实生活中的例子 1.正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com. vpn对于“我们”来说,是可以感知到的(我 ...

  9. CycloneII lcell_comb 和 lcell_FF 的结构

    1,lcell_comb结构 2,lcell_FF结构 from : cycloneii_eda_fd.pdf

  10. 字符数组拷贝与strcpy函数

    代码: ],str2[]; ;i<;i++) { str1[i]='a'; } strcpy(str2,str1); 让找出错误的地方. 先来看下strcpy函数: 使用格式:char* str ...