LiquibaseAutoConfiguration Bean尝试加载排除

时间:2015-02-12 01:42:05

标签: java spring spring-security spring-test

即使我从 EnableAutoConfiguration 排除 LiquibaseAutoConfiguration ,我也会从intellij运行集成测试用例时遇到错误。我在这里缺少什么?

Caused by: java.lang.IllegalStateException: Cannot find changelog location: class path resource [db/changelog/db.changelog-master.yaml] (please add changelog or check your Liquibase configuration)
    at org.springframework.util.Assert.state(Assert.java:385)
    at org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseConfiguration.checkChangelogExists(LiquibaseAutoConfiguration.java:83)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:349)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:300)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
    ... 55 more


Process finished with exit code 255




@ComponentScan 
@EnableAutoConfiguration(exclude = {
            EmbeddedServletContainerAutoConfiguration.EmbeddedJetty.class,
            LiquibaseAutoConfiguration.class,
            SecurityAutoConfiguration.class,
            ManagementSecurityAutoConfiguration.class,
            SolrAutoConfiguration.class
    })
    @Configuration
    public class App {

1 个答案:

答案 0 :(得分:0)

您使用裸@ComponentScan注释似乎会选择使用@Configuration注释但没有排除的其他@EnableAutoConfiguration类。

因此,修复可能涉及通过组件扫描应该拾取的内容的显式配置。有关详细信息和选项(例如@ComponentScanbasePackagesuseDefaultFiltersincludeFilters等),请参阅Javadoc excludeFilters