解决启动springCloud报错
启动springCloud报错:
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized -
call ‘refresh’ before multicasting events via the context:
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicati
onContext@436c81a3: startup date [Thu May 25 21:41:04 CST 2017]; parent:
org.springframework.context.annotation.AnnotationConfigApplicationContext@2aa3
cd93
这个问题我在网上查询都解释是springCloud和springBoot的版本不对应。
版本对应关系
Spring Cloud | Spring Boot |
---|---|
Finchley | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x |
Dalston和Edgware | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x |
Camden | 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x |
Brixton | 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x |
Angel | 兼容Spring Boot 1.2.x |
结果我试了多个版本都没有启动成功,错误还在。并且试了官方网站提供的实例,发现也在我的IDEA上启动失败,SpringCloud官网
这时候我就怀疑是因为maven仓库的问题,一直不能更新版本。
切换了maven库之后,重新启动,成功。
顺便贴一个检查maven下载失败的脚本:
在windows下新建一个.bat文件,内容如下,保存后使用管理员权限运行。
@echo off
@rem 切换到要删除的路径下
set /p input=请输入maven仓库路径:
set mavenDir=%input%
%mavenDir:~0,1%:
cd %mavenDir%
echo 在%mavenDir%路径下已查找到所有以.lastUpdated结尾的文件
dir /s/b .\*.lastUpdated>lastUpdated.txt
echo 查找到的文件信息:%mavenDir%\lastUpdated.txt
echo 请查看lastUpdated.txt,确认是否删除.lastUpdated文件所有目录,按任意键确认删除.
pause>null
@rem 遍历lastUpdated.txt文件,删除文件所在目录
for /f "delims=" %%i in (lastUpdated.txt) do (
echo 文件记录:%%i
rd /s /q %%~dpi
echo 删除目录:%%~dpi
)
echo 成功删除所有.lastUpdated文件所在文件夹!
del lastUpdated.txt
echo 已清除临时文件%mavenDir%\lastUpdated.txt
pause>null
del null
运行效果
##总结:
SpringCloud启动失败原因:
- 版本不对应
- 检查maven是否下载正确版本