情景:在Spring项目中,多个module也是Spring,其中某个模块在启动时报错无法连接,或者不报明显错误,但是应有的效果却不呈现出来。在此以Eureka,zuul,Turbin 和Config为例
网上也有很多大神对此错误进行了深度及多情景解析,在此就不一一赘述了,出现这个报错是可能有多方面的原因,在此先展现两种表现形式!
在代码无错,POM文件,YML文件,注解无明显的拼写,格式,语法错误的前提下!!
第一:服务启动无法连接
报这类错误,java.net.ConnectException: Connection refused:connect
第二:服务都启动成功也未报错
但是访问的时候报404错误,而且访问的时候不论后台还是网页,都没有更多的提示信息
处理问题的逻辑方式:
1.项目结构是否符合需求 2.项目依赖是否正确 3.项目配置是否齐全
4.关键名是否拼写正确 5.注解是否齐全 6.代码逻辑问题 7.代码导包问题
问题所在:
这些spring module 都分别都是root项目,如图
Pom文件里都是进行了<parent>依赖的,所以不应该每个module都是root,例:sp09 sp06
打开父模块的的pom文件,即发现了原因,这几个module虽然配了<parent>依赖,但其实并没有成功!!
如图所示,此模块下只有一个子模块。Spring类的module并不像 Maven类别,即时添加了<parent>依赖,在父级模块并不会自动添加关系。但是如果是Maven类的Module,如果添加了<parent>依赖,在父级模块会自动添加父子关系,这就是为什么明明添加了关系依赖,但是不起作用,项目在运行过程中就总会出一些问题,且有时候不会有明显的提示。
解决:
手动在父类添加<module>****</module>,更新后,Maven依赖如图所示,即可解决