Spring Boot应用程序中缺少META-INF / spring.factories文件

时间:2018-02-05 06:26:11

标签: java spring maven spring-boot

我是Spring和Spring Boot的新手,并被要求处理遗留的Spring Boot项目。我应该在项目中包含Spring Boot提供的一些FailureAnalyzer。根据我遇到的教程(如here),所有需要做的就是在META-INF / spring.factories文件中注册几个FailureAnalyzer类。

但是当我构建项目(使用Maven)时,我在目标/ META-INF目录中看不到spring.factories文件。我尝试自己添加一个,但它似乎没有被项目读取。我错过了什么?我应该怎么做才能注册这些FailureAnalyzers?

如果需要,spring.factories文件如下所示:

org.springframework.boot.diagnostics.FailureAnalyzer=\
  org.springframework.boot.diagnostics.analyzer.AbstractInjectionFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.BeanCurrentlyInCreationFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.BeanNotOfRequiredTypeFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.BindFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.ConnectorStartFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.NoUniqueBeanDefinitionFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.PortInUseFailureAnalyzer,\
  org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer

1 个答案:

答案 0 :(得分:1)

我认为您误解了spring.factories文件的位置。该文件将不会出现在项目资源文件夹中。转到Maven依赖项,并查看每个Jar META-INF文件,您将在大多数jar中找到spring.factories文件。