23.1 启动失败

如果您的程序无法启动,已经注册的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's listening on port 8080 or configure this application to listen on another port.

Spring Boot提供了大量的FailureAnalyzer实现,而且您可以很容易地添加您自己的实现

如果没有失败解析器能够处理异常,您仍然可以显示完整的自动配置中报告,以更好地了解出了什么问题。为此,您需要开启debug属性或者为org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer启用DEBUG日志

例如,如果您使用java -jar运行程序,可以如下开启debug属性:

$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug

书籍推荐