我是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
答案 0 :(得分:1)
我认为您误解了spring.factories文件的位置。该文件将不会出现在项目资源文件夹中。转到Maven依赖项,并查看每个Jar META-INF文件,您将在大多数jar中找到spring.factories文件。