java.lang.NoClassDefFoundError: org/springframework/cloud/context/named/NamedContextFactory$Specific

 1.问题描述: springcloud 工程启动后报错。

package com.itheima;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.itheima.feign"})
@MapperScan(basePackages = {"com.itheima.dao"})
public class ItemApplication {

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

2.原因:

ItemApplication 中有注解@EnableFeignClients,但是在控制器或对外实现接口中,SpringBoot没有扫描到@FeignClient注解的程序
解决:要么给程序加注解@FeignClient,要么把 OpcApplication 中有注解@EnableFeignClients 暂时去掉

 清理maven 仓库的依赖:

3.pom  依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>fescar_parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>fescar_api</module>
        <module>fescar_item</module>
        <module>fescar_order</module>
        <module>fescar_business</module>
        <module>fescar_user</module>
    </modules>

    <!-- springboot 的启动  -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>

    </parent>

    <!--跳过测试-->
    <properties>
    <skipTests>true</skipTests>
    </properties>
<!-- 依赖包   -->
   <dependencies>
<!--    测试包   -->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-test</artifactId>
           <version>2.2.0.RELEASE</version>
       </dependency>
<!-- fastjson   -->

       <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>fastjson</artifactId>
           <version>1.2.58</version>
       </dependency>
<!--鉴权-->

       <dependency>
           <groupId>io.jsonwebtoken</groupId>
           <artifactId>jjwt</artifactId>
           <version>0.9.0</version>
       </dependency>
<!--   web起步依赖    -->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
           <version>2.2.0.RELEASE</version>
       </dependency>
<!--   redis    -->

       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-data-redis</artifactId>
           <version>2.1.7.RELEASE</version>
       </dependency>

<!--   eureka-client    -->
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-netflix-eureka-server</artifactId>
           <version>2.1.1.RELEASE</version>
       </dependency>
<!--open  fegin-->

       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-openfeign</artifactId>
           <version>2.1.1.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-amqp</artifactId>
           <version>2.2.0.RELEASE</version>
       </dependency>

<!--   微信支付   -->
       <dependency>
           <groupId>com.github.wxpay</groupId>
           <artifactId>wxpay-sdk</artifactId>
           <version>0.0.3</version>
       </dependency>
<!--  httpclinet    微信支付   -->
       <dependency>
           <groupId>org.apache.httpcomponents</groupId>
           <artifactId>httpclient</artifactId>
           <version>4.5.9</version>
       </dependency>
<!-- 通用mapper   -->
       <dependency>
           <groupId>tk.mybatis</groupId>
           <artifactId>mapper-spring-boot-starter</artifactId>
           <version>2.0.4</version>
       </dependency>
<!--  MYSQL 数据库     -->
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>8.0.18</version>
       </dependency>
<!-- mybatis  分页插件    -->
       <dependency>
           <groupId>com.github.pagehelper</groupId>
           <artifactId>pagehelper-spring-boot-starter</artifactId>
           <version>1.2.3</version>
       </dependency>
<!--fegin -->
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-openfeign-core</artifactId>
           <version>2.1.1.RELEASE</version>
       </dependency>
   </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

 其中 open  fegin :

<!--open  fegin-->

       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-openfeign</artifactId>
           <version>2.1.1.RELEASE</version>
       </dependency>

4.查看工程的依赖:

5.对比其他工程  :

  要导入的是spring-cloud-starter-openfeign 

  不是spring-cloud-openfeign

 

发布了221 篇原创文章 · 获赞 8 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/oDianZi1234567/article/details/103390314