即使我从 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 {
答案 0 :(得分:0)
您使用裸@ComponentScan
注释似乎会选择使用@Configuration
注释但没有排除的其他@EnableAutoConfiguration
类。
因此,修复可能涉及通过组件扫描应该拾取的内容的显式配置。有关详细信息和选项(例如@ComponentScan
,basePackages
,useDefaultFilters
,includeFilters
等),请参阅Javadoc excludeFilters
。