Error starting ApplicationContext. To display the conditions report re-run your application with ‘de

启动springboot项目报了类似这样的错,然后详细的日志就没有其他内容了。
看了网上一堆给出的方案,比如说requestMapping写了重复的url,比如说端口冲突等等,但是都没有找到自己想要的答案。

这种错误需要如何处理如何分析?
其实还是需要根据具体日志具体分析。可能导致的错误千奇百怪,这里说一下我遇到的原因跟解决方案

启动报错日志

报错信息很明显了,在启动时查找${spring.rabbitmq.address}内容找不到。这种问题需要分几步来进行检查
1.检查spring.rabbitmq.address这个配置是写在了工程当中还是写在注册的配置中心(例如consul配置中心),一般来说做分布式架构的,这些配置都会写在配置中心,方便修改
2.如果是在配置中心,并且key名称是正确的,也有这个配置,那就需要查看启动的服务注册到的是哪个环境的consul服务器地址,启动注册的consul服务器是否跟配置所在的consul服务器是一个ip地址。
3.基本上做完以上两步都能知道是什么原因了。
要么就是key写错了
要么就是consul注册地址写错了
要么就是还没有配置这个spring.rabbitmq.address属性。这个就需要你仔细检查一下了。

4.如果检查完以上发现都没问题但是还是报错,这个时候注意了。检查你的编译文件,(idea启动会build一个target目录。检查你的xxx.properties里面的配置是否有编译过来,因为如果maven里面没有配置过滤资源属性时,有可能会导致编译的xxx.properties不通过,这个时候启动也是会报错找不到配置)

我是属于consul注册的地址不对- -. 那么你呢?

PS:有一些同学可能会碰到打印出Error starting ApplicationContext. To display the auto-configuration report re-run your application这个错误之后下面就没日志了,没法进行更进一步的分析。

可以试下把工程启动的main函数用try-catch包起来,捕获的异常用error日志输出,这样可能会把详细错误打印出来,方便进一步分析。

以上就是我知道的内容了,希望能给你们一些帮助。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注