記一次Jar衝突解決

背景:

一個老的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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章