天天看點

【項目】Spring Cloud項目調用第三方服務報錯解決

前言

     小編在Spring Cloud項目中,需要調用一個第三方服務,在調用過程中,遇到了兩個問題,在這篇部落格中做一個分享。

pom.xml導入第三方服務   

 一、直接導入第三方服務jar包

<!--培養計劃服務-->
<dependency>
  <groupId>com.dmsdbj.cloud</groupId>
  <artifactId>integral-training-api</artifactId>
  <version>0.0.3-SNAPSHOT</version>			
</dependency>
           

二、出現錯誤頁面

【項目】Spring Cloud項目調用第三方服務報錯解決

 三、添加exclusion标簽,解決問題

<exclusions>
 <exclusion>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
 </exclusion>
</exclusions>
           

最終導入第三方服務,完整内容: 

<dependency>
	<groupId>com.dmsdbj.cloud</groupId>
	<artifactId>integral-training-api</artifactId>
	<version>0.0.3-SNAPSHOT</version>
	  <exclusions>
		<exclusion>
		 <groupId>org.springframework.cloud</groupId>
		 <artifactId>spring-cloud-starter-openfeign</artifactId>
		</exclusion>
	  </exclusions>
  </dependency>
           

備注:<exclusion>作用是排除一些不需要同時下載下傳的依賴jar,因為maven引用的library會将library裡面引用的jar也一起打包進來, 這樣的話免得了會引起相同jar的版本沖突。

項目啟動報錯

一、報錯如圖所示

【項目】Spring Cloud項目調用第三方服務報錯解決
A component required a bean of type 'com.dmsdbj.integral.training.api.facade.TrainingProgramApi' 
that could not be found.
           

 二、解決方案,添加掃描包

在spring boot啟動的主程式中,加入調用第三方服務的掃描包:com.dmsdbj.integral.training.api

@EnableFeignClients(basePackages = {"com.dmsdbj.activiti.api","com.dmsdbj.integral.training.api"})
           

 完整的主程式代碼:

@EnableEurekaClient
@EnableDiscoveryClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@MapperScan("com.tfjybj.intern.provider.dao")
@Import(FdfsClientConfig.class)
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
@EnableFeignClients(basePackages = {"com.dmsdbj.activiti.api","com.dmsdbj.integral.training.api"})
public class InternApplication {

    public static void main(String[] args) {
        SpringApplication.run(InternApplication.class, args);
    }

}
           

小結

    通過網上查詢解決方案,逐漸解決遇到的問題,歸根結底是自己對于注解、spring boot架構、maven的使用方面有所欠缺,這些都是基礎知識,不斷補充吧!

                                                                           感謝您的通路!

繼續閱讀