zoukankan      html  css  js  c++  java
  • springboot启动不能加载数据库驱动Failed to determine a suitable driver class

     1 SLF4J: Class path contains multiple SLF4J bindings.
     2 SLF4J: Found binding in [jar:file:/G:/sharp/repo/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
     3 SLF4J: Found binding in [jar:file:/G:/sharp/repo/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
     4 SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
     5 SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
     6 
     7   .   ____          _            __ _ _
     8  /\ / ___'_ __ _ _(_)_ __  __ _    
     9 ( ( )\___ | '_ | '_| | '_ / _` |    
    10  \/  ___)| |_)| | | | | || (_| |  ) ) ) )
    11   '  |____| .__|_| |_|_| |_\__, | / / / /
    12  =========|_|==============|___/=/_/_/_/
    13  :: Spring Boot ::        (v2.1.0.RELEASE)
    14 
    15 2019-01-09 15:32:12.690  INFO 5044 --- [           main] c.sharp.forward.SharpServiceApplication  : Starting SharpServiceApplication on hh-PC with PID 5044 (G:worksheetsharp-service	argetclasses started by Administrator in G:worksheetsharp-service)
    16 2019-01-09 15:32:12.696  INFO 5044 --- [           main] c.sharp.forward.SharpServiceApplication  : No active profile set, falling back to default profiles: default
    17 log4j:WARN No appenders could be found for logger (com.alibaba.dubbo.common.logger.LoggerFactory).
    18 log4j:WARN Please initialize the log4j system properly.
    19 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    20 2019-01-09 15:32:14.095  INFO 5044 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
    21 2019-01-09 15:32:14.113  INFO 5044 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    22 2019-01-09 15:32:14.113  INFO 5044 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/9.0.12
    23 2019-01-09 15:32:14.121  INFO 5044 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [D:	opbandSoftjavajre1.8in;C:WindowsSunJavain;C:Windowssystem32;C:Windows;D:/topbandSoft/java/jre1.8/bin/server;D:/topbandSoft/java/jre1.8/bin;D:/topbandSoft/java/jre1.8/lib/amd64;C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)Javajre7;D:	opbandSoftjavajdk1.8in;D:	opbandSoftjavajdk1.8jrein;D:	opbandSoftgitGitcmd;D:	opbandSoftsvnin;D:	opbandSoftmavenapache-maven-3.3.9-binapache-maven-3.3.9in;C:Program Filesin;D:	opbandSoftzookeeper/bin;D:	opbandSoftzookeeper/conf;D:putty;D:	opbandSofteclipse4.8eclipse;;.]
    24 2019-01-09 15:32:14.217  INFO 5044 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    25 2019-01-09 15:32:14.218  INFO 5044 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1465 ms
    26 2019-01-09 15:32:14.241  INFO 5044 --- [           main] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
    27 2019-01-09 15:32:14.245  INFO 5044 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
    28 2019-01-09 15:32:14.246  INFO 5044 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
    29 2019-01-09 15:32:14.246  INFO 5044 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'formContentFilter' to: [/*]
    30 2019-01-09 15:32:14.246  INFO 5044 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
    31 2019-01-09 15:32:14.288  WARN 5044 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userService': Unsatisfied dependency expressed through field 'userMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userMapper' defined in file [G:worksheetsharp-mapper	argetclassescomsharpforwardmapperUserMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is 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
    32 2019-01-09 15:32:14.289  INFO 5044 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
    33 2019-01-09 15:32:14.372  INFO 5044 --- [           main] ConditionEvaluationReportLoggingListener : 
    34 
    35 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    36 2019-01-09 15:32:14.374 ERROR 5044 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 
    37 
    38 ***************************
    39 APPLICATION FAILED TO START
    40 ***************************
    41 
    42 Description:
    43 
    44 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
    45 
    46 Reason: Failed to determine a suitable driver class
    47 
    48 
    49 Action:
    50 
    51 Consider the following:
    52     If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    53     If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

    按照网上各种查找参考https://blog.csdn.net/yl123456654321/article/details/82912901

    最终发现问题出在了没有将配置文件扫描进去,我把它排除了,我的pom.xml中资源的配置如下:

     1 <resources>
     2     <resource>
     3         <directory>src/main/java</directory>
     4         <includes>
     5             <include>**/*.yml</include>
     6             <include>**/*.properties</include>
     7             <include>**/*.xml</include>
     8         </includes>
     9         <filtering>false</filtering>
    10     </resource>
    11     <resource>
    12         <directory>${basedir}/src/main/resources</directory>
    13         <excludes>
    14                 <!-- <exclude>*.properties</exclude> -->
    15                  <!-- <exclude>application-dev.properties</exclude>  -->
    16             </excludes>
    17         <includes>
    18             <include>**/*.yml</include>
    19             <include>application.properties</include>
    20             <include>application-${profile.active}.properties</include>
    21             <include>**/*.xml</include>
    22         </includes>
    23         <filtering>false</filtering>
    24     </resource>
    25 </resources>

    问题出在上面注释掉的exclude的配置上,这里理解过滤不正确,我把它排除在外了,参考https://blog.csdn.net/u014756827/article/details/52510899

    <include>与<exclude>是用来圈定和排除某一文件目录下的文件是否是工程资源的。如果<include>与<exclude>划定的范围存在冲突时,以<exclude>划定的范围为准。大多数情况下,人们使用<include>和<exclude>是为了配合<filtering>实现过滤特定文件的需要。例如,在一个工程中,src/main/resources目录下都是工程的资源文件,并不需要<include>和<exclude>再进行划定。但如果我们需要对且仅对其中的jdbc.properties和mail.properties两个文件进行过滤的话,则需要借助<include>和<exclude>进行如下的配置:

     1     <resources>
     2         <!-- Filter jdbc.properties & mail.properties. NOTE: We don't filter applicationContext-infrastructure.xml, 
     3             let it go with spring's resource process mechanism. -->
     4         <resource>
     5             <directory>src/main/resources</directory>
     6             <filtering>true</filtering>
     7             <includes>
     8                 <include>jdbc.properties</include>
     9                 <include>mail.properties</include>
    10             </includes>
    11         </resource>
    12         <!-- Include other files as resources files. -->
    13         <resource>
    14             <directory>src/main/resources</directory>
    15             <filtering>false</filtering>
    16             <excludes>
    17                 <exclude>jdbc.properties</exclude>
    18                 <exclude>mail.properties</exclude>
    19             </excludes>
    20         </resource>
    21     </resources>

    其中第一段<resource>配置声明:在src/main/resources目录下,仅jdbc.properties和mail.properties两个文件是资源文件,然后,这两个文件需要被过滤。而第二段<resource>配置声明:同样在src/main/resources目录下,除jdbc.properties和mail.properties两个文件外的其他文件也是资源文件,但是它们不会被过滤。

    注释掉以后,可以加载属性文件,就可以启动了

  • 相关阅读:
    java代理模式 (转)
    android平台中编写jni模块的方法(1)
    android平台中编写jni模块的方法(2)
    Android AIDL——实现机制浅析
    android平台中编写jni模块的方法(3)
    Android AIDL使用详解
    android Launcher——拖放功能深入研究
    android 布局长度单位深入研究
    android Launcher——数据加载与变更
    PHP安装
  • 原文地址:https://www.cnblogs.com/xiaoyao-001/p/10247949.html
Copyright © 2011-2022 走看看