摘要
本文章介绍我自己在搭配第三方一起使用途中遇到的错误,导致项目无法启动问题,进行汇总说明。
==场景:==
- 使用Nacos时
- 使用kafka时
- 使用ES时
- 多模块启动时
- 使用微服务Feign调用时
...
情况1:Nacos报错
==原因==:编译时target包里面少了bootstrap.properties文件(但目前集体不知道为啥会这样)
==解决方案==:最右侧“maven”点击package,会把整个项目进行打包,这时候的配置文件就都会加载了。我猜测原因可能是idea配置的环境有问题,因为别人down下来的代码是可以运行的,但我这边就不行!
情况2:IllegalStateException: Incompatible fallbackFactory instance
==原因==:实现方式不一样
==解决方案==:使用另一种实现方式
相关文章:https://blog.csdn.net/weixin_34250709/article/details/85973840
情况3:idea编译java文件错误 非法字符: '\ufeff'
==原因==:编码不一致导致
情况4:No URLs will be polled as dynamic configuration sources
==解决方案==: 在resources中添加文件config.properties
情况5:there is already xxx bean method
==原因==:@requestMapping路径相同
情况6:Hibernate-Validator相关错误
==原因==:缺少Hibernate-Validator依赖
==解决方案==:
<!--新添加的Hiberbate-Validator依赖-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
情况7:register项目启动报错:Protocol handler start failed
==原因==:有可能是端口冲突了
==解决方案==:关闭java进程就好了
情况8:测试类 you need to use @SpringBoot(CLASSES=...) with your test
==原因==:因为单元测试的路径和main下application.class启动类的包名不一致
==解决方案==:测试类改包名和启动类包名一致即可
情况9:kafka报错 Broker may not be available
==原因==:配置文件中kafka的IP或者端口有问题
==解决方案==:改配置文件
情况10:ES报错 maven包引入问题ClassNotFoundException: org.elasticsearch.client.Cancellable
==原因==:父pom引入ES 版本了,导致版本冲突
==解决方案==:修改父pom的ES的版本即可启动成功
情况11:Springboot多模块启动时,总是找不到子模块的bean
==原因==:
Springboot多模块启动时,总是找不到子模块的bean,这是因为启动Applicaiton 中总是默认扫描当前项目的目录,而不会去扫描子项目的bean,所以这里找不到。
==解决方案==:
在启动Application 上注明扫描路径