初建一个简单的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. JS 二维数组

    给一个数组元素,赋一个数组的值,那么,这个数组就是“二维数组”. 二维数组,就得用两层循环来实现.也就是说循环套循环. 二维数组的循环,与二维表格的循环一模一样. 二维数组的访问:数组名后跟多个连续的 ...

  2. vue-router路由跳转判断用户是否存在

    router.beforeEach((to, from, next) => { //console.log("to:", (to)); //console.log(" ...

  3. 程序员如何面对 HR 面试的 40 个问题!

    讲一个身边朋友亲身经历的故事吧. 一个技术非常牛的朋友去阿里面试,成功通过了几轮技术车轮战,最后躺在了 HR 面上...所以,尽管你技术再牛逼,你回答不好 HR 的问题,赢得不了 HR 的认可,你最终 ...

  4. DIV常用属性大全自己整理

    一.属性列表 代码如下: color : #999999 文字颜色 font-family : 宋体 文字字型 font-size : 10pt 文字大小 font-style:itelic 文字斜体 ...

  5. Asp.Net中的HttpWebRequest类与HttpWebResponse类

    相关博文:https://www.cnblogs.com/xu-yi/p/10061342.html 相关博文:https://www.cnblogs.com/zoujinhua/p/11313396 ...

  6. java_日历类

    calendar是日历类,该类是抽象类不能被实例化 public class CalendarTest { /* 创建对象和方法的使用 */ public static void main(Strin ...

  7. PropertyPlaceholderConfigurer的注意事项

    1.基本的使用方法是<bean id="propertyConfigurerForWZ" class="org.springframework.beans.fact ...

  8. spring:AOP面向切面编程(注解)03

    使用注解写aop时最好使用环绕通知写 切面类: /** * 用于记录日志的工具类,它里面提供了公共的代码 */ @Component("logger") @Aspect //表示当 ...

  9. uoj51 元旦三侠的游戏

    题意:询问a,b,n.每次可以a+1或b+1,保证a^b<=n,不能操作者输.问先手是否赢? n<=1e9. 标程: #include<cstdio> #include< ...

  10. eclipse变量名自动补全

    对于编程人员来说,要记住大量的类名或类方法的名字,着实不是一件容易的事情.如果要IDE能够自动补全代码,那将为我们编程人员带来很大帮助. eclipse代码里面的代码提示功能默认是关闭的,只有输入“. ...