springboot启动时的一些问题


  • 具体报错如下:
[main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
[main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.52]
[main] INFO  o.a.c.c.C.[Tomcat].[localhost].[/earlywarning] - Initializing Spring embedded WebApplicationContext
[main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1546 ms
[main] INFO  ru.yandex.clickhouse.ClickHouseDriver - Driver registered
[main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
[main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener - 
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
  • 排查过程:

在启动项目时发现日志中输出了如上信息,但是奇怪的是本地运行正常,没有出现这样的报错,经过比对测试环境配置文件和生产环境配置文件发现,在配置文件中

新加的两个外部接口的字段名不一致,导致生产环境代码中读取不到这个值(代码如下): 

@Value("${boot.warningToFault.path}")
private String warnToFaultPath;
  • 解决方法:

 将两个环境中该字段名统一即可。

  • 反思:

必须保持一致的字段或者代码尽量复制,避免手敲产生的错误,如上面的例子、或者是和mapper文件对应的XML文件名等。