如果你的应用程序启动失败,已注册的FailureAnalyzers
(失败分析器)将有机会提供一个专门的错误消息和一个具体的操作来解决问题。例如,如果你在端口8080上启动一个web应用程序,并且该端口已经被占用,应该会看到类似于以下的消息:
***************************
APPLICATION FAILED TO START
***************************
Description:
Embedded servlet container failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that is listening on port 8080 or configure this application to listen on another port.
Spring Boot提供了许多FailureAnalyzer
的实现,你也可以增加自己的实现。
如果没有任何FailureAnalyzer
的能够处理该异常,仍然可以显示完整的条件报告来更好地了解发生了什么错误。为此,你需要启用debug
属性或者为org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener启
启用DEBUG
日志记录。
例如,如果你是通过使用 java -jar
命令来运行应用程序,可以按照以下方式启用debug
属性:
$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug