背景:
一个老的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>