spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
来源:互联网 发布:mac oa系统上传附件 编辑:程序博客网 时间:2024/06/09 18:51
最近在学习使用spring boot。使用maven创建好工程,只引用需要用到的spring boot相关的jar包,除此之外没有任何的配置。
写了一个最简单的例子,如下所示:
package com.torlight;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;import org.springframework.context.ApplicationContext;import org.springframework.context.ConfigurableApplicationContext;/** * @since 2017.05.06 * @author acer * */@SpringBootApplicationpublic class Application { public static void main(String[] args) { ApplicationContext appctx= SpringApplication.run(Application.class,args); System.out.println("appctx.getBeanDefinitionCount="+appctx.getBeanDefinitionCount()); try { ((ConfigurableApplicationContext)appctx).close(); } catch (Exception e) { /*ignore*/ } }}
运行程序后,控制台输出错误日志:
017-05-06 22:44:18.868 WARN 41648 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : 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$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).
2017-05-06 22:44:18.871 INFO 41648 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service Tomcat
2017-05-06 22:44:18.902 INFO 41648 --- [ restartedMain] utoConfigurationReportLoggingInitializer :
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-05-06 22:44:18.907 ERROR 41648 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Cannot determine embedded database driver class for database type NONE
Action:
If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).
这是因为spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean。因为工程中没有关于dataSource相关的配置信息,当spring创建dataSource bean因缺少相关的信息就会报错。
因为我仅仅只是使用spring boot来写一些很简单的例子来学习它,在Application类上增加@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
阻止spring boot自动注入dataSource bean
package com.torlight;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;import org.springframework.context.ApplicationContext;import org.springframework.context.ConfigurableApplicationContext;/** * @since 2017.05.06 * @author acer * */@SpringBootApplication@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})public class Application { public static void main(String[] args) { ApplicationContext appctx= SpringApplication.run(Application.class,args); System.out.println("appctx.getBeanDefinitionCount="+appctx.getBeanDefinitionCount()); try { ((ConfigurableApplicationContext)appctx).close(); } catch (Exception e) { /*ignore*/ } }}
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- Spring Boot启动报错:Cannot determine embedded database driver class for database type NONE
- Spring Boot 启动报错 Cannot determine embedded database driver class for database type NONE
- Spring boot 报错:Cannot determine embedded database driver class for database type NONE
- springBoot启动报错Cannot determine embedded database driver class for database type NONE
- springboot 启动报错:Cannot determine embedded database driver class for database type NONE
- SpringBoot启动报错Cannot determine embedded database driver class for database type NONE
- SpringBoot启动报错(Cannot determine embedded database driver class for database type NONE)
- springboot启动报错--Cannot determine embedded database driver class for database type NONE
- Spring Boot启动问题:Cannot determine embedded database driver class for database type NONE
- SpringBoot常见问题(一)--启动报错(Cannot determine embedded database driver class for database type NONE)
- Cannot determine embedded database driver class for database type NONE
- Cannot determine embedded database driver class for database type NONE
- Cannot determine embedded database driver class for database type NONE
- Cannot determine embedded database driver class for database type NONE
- OpenSSL-TLS重协商
- 友盟,错误分析工具的使用
- JS宝典学习笔记
- HTML标签
- C语言程序设计习题1-19 编写函数reverse(s),实现字符串的倒序,并用该函数每次颠倒一个输入行中的字符顺序
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- 【C语言】if else
- C# SplitContainer 控件详细用法
- 【distinct-subsequences】
- xshell远程连接自动断开的问题解决办法
- python Day5
- 有索引却不用的两个场景
- 企业宣传型小程序特点-微信小程序开发-视频教程23
- noexcept