Sto usando primavera avvio e Liquibase. Utilizzando questo URL come linee guidaPrimavera-boot con Liquibase Sovraccarico Proprietà
http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/
Nel pom.xml
, l'iscrizione qui sotto è presente in modo che la primavera di avvio conosce liquibase.
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
e inserire il file di registro delle modifiche nella cartella delle risorse. db.changelog-master.xml
Ora avvio primavera primo tring per trovare db.changelog-master.yaml nel classpath e gettando l'eccezione in questo modo.
Non riesci a trovare posizione changelog: classe di risorse percorso [db/changelog/db.changelog-master.yaml
Per risolvere il problema, ho aggiunto il fagiolo come qui di seguito nella mia classe e ha cercato di impostare ChangeLog proprty.
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class SampleDataJpaApplication {
@Autowired
LiquibaseProperties properties;
@Autowired
private DataSource dataSource;
@Bean
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
properties.setChangeLog("classpath:/db/changelog/db.changelog-master.xml");
liquibase.setChangeLog(this.properties.getChangeLog());
liquibase.setContexts(this.properties.getContexts());
liquibase.setDataSource(this.dataSource);
liquibase.setDefaultSchema(this.properties.getDefaultSchema());
liquibase.setDropFirst(this.properties.isDropFirst());
liquibase.setShouldRun(this.properties.isEnabled());
return liquibase;
}
public static void main(String[] args) throws Exception {
Logger logger = LoggerFactory.getLogger("SampleDataJpaApplication");
SpringApplication springApplication = new SpringApplication();
springApplication.run(SampleDataJpaApplication.class, args);
}
}
ma non riesce con il messaggio.
org.springframework.beans.factory.BeanCreationException: Errore la creazione di fagioli con nome 'sampleDataJpaApplication': Iniezione di dipendenze autowired fallito; l'eccezione annidata è org.springframework.beans.factory.BeanCreationException: non Could campo autowire: org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties sample.data.jpa.SampleDataJpaApplication.properties; l'eccezione annidata è org.springframework.beans.factory.NoSuchBeanDefinitionException: No fagiolo qualifica di tipo [org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties] trovato per la dipendenza: previsto con almeno 1 di fagioli che si qualifica come autowire candidato per questa dipendenza. annotazioni Dipendenza: {@ org.springframework.beans.factory.annotation.Autowired (richiesto = true)}
causati da: org.springframework.beans.factory.BeanCreationException: Impossibile autowire campo: org.springframework .boot.autoconfigure.liquibase.LiquibaseProperties sample.data.jpa.SampleDataJpaApplication.properties; l'eccezione annidata è org.springframework.beans.factory.NoSuchBeanDefinitionException: No fagiolo qualifica di tipo [org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties] trovato per la dipendenza: previsto con almeno 1 di fagioli che si qualifica come autowire candidato per questa dipendenza. annotazioni Dipendenza: {@ org.springframework.beans.factory.annotation.Autowired (richiesto = true)}
Si prega di fornire gli input qui, perché sto ottenendo questa eccezione o Esiste un altro modo a disposizione sovrascrivere la stessa classe in modo da poter modificare la proprietà changeLog delle proprietà di liquibase.
Ciao Dave, Grazie per l'informazione Ho usato liquibase.changeLog = classpath: /db/changelog/db.changelog-master.xml in application.properties e ha funzionato per me è fantastico Significa che posso impostare il valore di qualsiasi proprietà di qualsiasi bean nel mio percorso di classe menzionando lo stesso in application.properties? –