当前位置: 首页 > 知识库问答 >
问题:

BeanCreationException:无法确定数据库类型NONE的嵌入式数据库驱动程序类

颜乐
2023-03-14

我正在尝试运行我的程序,我总是得到这个例外:

Caused by: org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath.
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.getDriverClassName(DataSourceProperties.java:137)
at org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource(DataSourceAutoConfiguration.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 45 more

我正在通过Gradle导入所有依赖项:

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.7.RELEASE")
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'

jar {
baseName = 'flatify-backend-service'
version =  '0.1.0'
}

repositories {
mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'org.hibernate:hibernate-core:4.3.6.Final'
compile 'javax.servlet:javax.servlet-api:3.1.0'
compile 'org.javassist:javassist:3.15.0-GA'
compile 'mysql:mysql-connector-java:5.1.31'
compile 'commons-dbcp:commons-dbcp:1.4'
testCompile("junit:junit")
testCompile("org.springframework:spring-test")
}

task wrapper(type: Wrapper) {
gradleVersion = '2.5'
}

我的配置类:

@Configuration
@EnableTransactionManagement
public class PersistenceJPAConfig {

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource());
    em.setPackagesToScan(new String[] { "at.flatify.persistance.entity" });

    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    em.setJpaVendorAdapter(vendorAdapter);
    em.setJpaProperties(additionalProperties());

    return em;
}


@Bean(destroyMethod = "close")
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://localhost:3306/flatify");
    dataSource.setUsername("user");
    dataSource.setPassword("password");

    return dataSource;
}

@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory emf){
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(emf);

    return transactionManager;
}

@Bean
public PersistenceExceptionTranslationPostProcessor exceptionTranslation(){
    return new PersistenceExceptionTranslationPostProcessor();
}

Properties additionalProperties() {
    Properties properties = new Properties();
    properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
    return properties;
}

}

共有1个答案

壤驷雅达
2023-03-14

Spring boot无法确定使用哪个驱动程序。您需要在某个地方指定以下属性:Spring.DataSource.DriverClassName还有其他属性需要指定,请查看文档。

 类似资料:
  • 我想用活动配置文件“Firza”运行我的项目,但它给了我以下错误。在谷歌上搜索后,我尝试了所有可能的修复方法,但都没有效果:有人能帮我吗?

  • 问题内容: 这是尝试运行我的Web应用程序时抛出的错误: 我相信我和jar的搭配正确: 2.1:需要DataNucleus 3.1.x(核心,api-jdo,api-jpa,增强器)。需要SDK 1.6.4+。请注意,DataNucleus项目不再支持此版本的Datanucleus JPA应用程序配置: 应用程序 POM: 我想知道我的应用程序中可能缺少什么?我按照此处的说明在Google App

  • 当我试图理解一个spring boot项目时,我在GITHUB中提取了一段代码。在spring boot项目中,我已经在application.properties文件中设置了所有的数据源连接。但它抛出了无法确定数据库类型NONE的嵌入式数据库驱动程序类的错误。请帮助我克服这个错误。 错误 启动Application Context时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行应用程

  • Application.Properties application.java CenterofExcellence.java 如果您想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有配置文件处于活动状态)。

  • 我正在尝试运行一个由其他人制作的Spring Boot应用程序。我曾尝试将本地数据库附加到应用程序,但当我运行该应用程序时,它会出现以下错误; 工作台: 并且服务器已启动并运行。 编辑

  • 这是尝试运行我的web应用程序时抛出的错误: 我相信我有和JAR的正确组合: 2.1:需要DataNucleus 3.1.x(核心、api-jdo、api-jpa、增强器)。需要SDK 1.6.4+注意Datanucleus项目不再支持此版本的Datanucleus JPA应用程序配置: application.java POM: 我想知道我的应用程序中可能缺少什么?在Google Appengi