liquibase: Failed to determine suitable jdbc url
Spring boot 2.2.4.RELEASE приложение до добавления зависимости с liquibase все отрабатывает корректно.
зависимости:
dependencies {
compile('org.springframework:spring-context')
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile('com.zaxxer:HikariCP')
compile('com.oracle:ojdbc7')
compile('org.springframework.data:spring-data-oracle')
}
app.yaml
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 6
maximum-pool-size: 30
pool-name: "isName"
auto-commit: true
connection-timeout: 20000
allow-pool-suspension: false
driver-class-name: oracle.jdbc.OracleDriver
jdbcUrl: ${datasource.url}
username: ${datasource.username}
password: ${datasource.password}
класс приложения
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
@PropertySource("classpath:/app.properties")
@EnableServiceClients
@EnableDiscoveryClient
@EnableFeignClients
public class Application {
public static void main(String[] args) {
try {
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
System.out.println("Context started");
} catch (Exception e) {
e.printStackTrace();
}
}
}
настройка датасурса
@Configuration
@EnableTransactionManagement
public class JdbcConfiguration {
@Bean(name = "defaultHikariConfig")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public HikariConfig hikariConfig() {
return new HikariConfig();
}
@Bean(name = "defaultDataSource")
public DataSource defaultDataSource(@Qualifier("defaultHikariConfig") HikariConfig hikariConfig) {
return new HikariDataSource(hikariConfig);
}
@Bean(name = "defaultJdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("defaultDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
работает ок.
при добавлении liquibase соотвественно добавляю запись с указанием где смотреть файл
spring:
liquibase:
enabled: ${migration.enabled}
change-log: classpath:db/changelog/schema.change.log.yaml
и при добавлении этой зависимости compile('org.liquibase:liquibase-core:4.0.0') приложение не собирается
ошибка
Unsatisfied dependency expressed through method 'registryDao' parameter 0;
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource
[org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [liquibase.integration.spring.SpringLiquibase]:
Factory method 'liquibase' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:
Failed to determine suitable jdbc url