我试图将MySQL数据库加载到Spring Boot应用程序中,但是当我启动该应用程序时,却收到了这些错误消息:
2018-07-17 13:46:31.426 WARN 2120 --- [ restartedMain] o.s.b.a.orm.jpa.DatabaseLookup : Unable to determine jdbc url from datasource
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection: 'url' not set
尽管我已经在application.properties
中设置了url属性:spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
有人可以帮我解决这个问题吗?
编辑:这是我的主班:
package com.randomsoft.checkoff;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
public class CheckoffApplication {
public static void main(String[] args) {
SpringApplication.run(CheckoffApplication.class, args);
}
}
答案 0 :(得分:2)
只需尝试将此行添加到配置类中
@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
答案 1 :(得分:2)
您可以尝试删除 @EnableAutoConfiguration(排除= {DataSourceAutoConfiguration.class})
还尝试添加以下所有jdbc属性,
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?verifyServerCertificate=false&useSSL=false&requireSSL=false
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
答案 2 :(得分:0)
您应命名属性文件:application.properties
或application.yml
答案 3 :(得分:0)
大多数答案都建议排除 DataSourceAutoConfiguration,我同意这种方法,但他们没有说明的是,除了通过注释 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
的编程方式之外,我们还有以下列方式通过属性设置它的选项,这在注释应用程序类不是一个选项时很有用。
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration