今天做項目遇到一個奇怪的問題:
在以下spring boot和cloud版本下想要引入netflix feign來實現不同模塊服務之間的調用
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.M9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在調用其他模塊服務的pom文件中導入下面的依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
添加以來之後出現依賴錯誤,不能正確的讀取添加的依賴信息
經過一頓搜索之後,試過指定添加依賴的版本,更換cloud版本(這個沒有完全嘗試下去,因爲更改版本之後其他模塊也出現了依賴錯誤,所以更改版本信息不太合適,工作量太大),經過這些之後,仍然沒有解決問題;然後我就試着根據當前使用的cloud版本去找對應的依賴,然後進行下面的搜索:
Finchley.M9版本的cloud 怎麼引入openfeign依賴
然後看到說引入spring-cloud-stater-opefeign後有部分類找不到
比如說在代碼中想要調用其他的服務,需要添加@FeignClient註解,但是提示找不到
原因:
我用的是aliyun Maven倉庫,發現和spring-cloud-stater-openfeign與spring官方的倉庫有一些不一樣
然後刪除本地倉庫中的這個jar包,將setting.xml中aliyun服務器刪除,使用spring官方的maven服務器,將使用的openfeign重新下載下來之後再將setting.xml文件恢復,最後更新maven依賴。