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