一. 问题背景
项目架构是一个A项目定义了接口提供给其他项目调用,B项目调用A项目的接口,但是报错:feign/slf4j/xxx,或者load balance xxx
二. 造成的原因
这种报错情况,通常是因为某些jar包没有导入或者依赖没有下载成功。
只要某些依赖设置了<optional>true</optional>
,那么此依赖只能在它所在的项目使用。
例子:比如A项目中某个依赖设置了<optional>true</optional>
,即使B项目引入了A项目的依赖,但是设置了<optional>true</optional>
的那个依赖,B项目是不能引用的。
三. 解决方案
上面例子中的情况,需要在B项目中直接引入报错原因相关的依赖