背景:
一个老的Boot项目引入微服务,所以打算使用feign
1.微服务的feign接口打包
2.引入POM
<dependency><groupId>com.xxx</groupId><artifactId>xxx-api</artifactId><version>1.0.22</version><classifier>interface</classifier>
</dependency>
3.启动分析:
1).启动空指针
2).项目启动后,访问无日志,无响应(除第一次会有几行日志)
原因:
jenkins在部署项目时,把feign接口包里面的pom也扫到了,所以把feign接口所在的项目引用的jar也打进去了
导致项目会多出很多jar,启动报错。
解决:
feign接口所在的项目引用jar每个都加上
<optional>true</optional>
或者:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><executions><execution><id>interface</id><goals><goal>jar</goal></goals><phase>package</phase><configuration><classifier>interface</classifier><includes><include>**/com/xxx/**/feign/**</include></includes><finalName>${project.artifactId}-${project.version}</finalName><archive><addMavenDescriptor>false</addMavenDescriptor></archive></configuration></execution></executions>
</plugin>