springcloud运行报错

问题遇到的现象和发生背景

报错

img

这个模块的依赖


        <dependency>
            <groupId>com.cooc</groupId>
            <artifactId>crm-sys</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.github.jeffreyning</groupId>
            <artifactId>mybatisplus-plus</artifactId>
            <version>0.0.1-RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.5</version>
        </dependency>

        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.23.1-GA</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-loadbalancer -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-loadbalancer -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <!--            <version>3.0.1</version>-->
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.7.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-openfeign-core</artifactId>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

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

        <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.6.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-client -->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>4.9.4</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.1.3</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
            <version>3.4.3</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
            <version>2.5.2.RELEASE</version>
            <scope>compile</scope>
        </dependency>
尝试过的解决方法

所有依赖都只留其中一个

我想要达到的结果

不报错

删除lib文件下的 servlet-api.jar

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7476536
  • 你也可以参考下这篇文章:SpringCloud多模块项目之间的依赖引用找不到怎么办
  • 除此之外, 这篇博客: SpringCloud框架搭建的项目如何实现一个模块调用另一个模块的服务中的 注意: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 此时发现@FeignClient(name=“member”)中的@FeignClient注解爆红,那是因为没有导入jar包,导入如下jar包即可:

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

    在MemberClient类中的@FeignClient(name=“member”),name属性对应的值就是被调用服务所在的模块,例如本文档是video模块调用member模块的服务,故name属性对应的是member,类中的@GetMapping("/selectMemberInfo")对应的就是被调用模块中的服务路径(服务的路径暴露在controller层即可),可以按照自己的要求去书写此服务内容。

    MemberDTO:

    package com.yuwan.qiniuvideo.client;
    
    import java.math.BigDecimal;
    
    public class MemberDTO {
    
    private Long id;
    	
    	private Long sn;
    	
    	private String author;
    	
    	private String publishing;
    	
    	private BigDecimal bprice;
    	
    	private BigDecimal sprice;
    	
    	private String btype;
    	
    	private Integer stock;
    
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long id) {
    		this.id = id;
    	}
    
    	public Long getSn() {
    		return sn;
    	}
    
    	public void setSn(Long sn) {
    		this.sn = sn;
    	}
    
    	public String getAuthor() {
    		return author;
    	}
    
    	public void setAuthor(String author) {
    		this.author = author;
    	}
    
    	public String getPublishing() {
    		return publishing;
    	}
    
    	public void setPublishing(String publishing) {
    		this.publishing = publishing;
    	}
    
    	public BigDecimal getBprice() {
    		return bprice;
    	}
    
    	public void setBprice(BigDecimal bprice) {
    		this.bprice = bprice;
    	}
    
    	public BigDecimal getSprice() {
    		return sprice;
    	}
    
    	public void setSprice(BigDecimal sprice) {
    		this.sprice = sprice;
    	}
    
    	public String getBtype() {
    		return btype;
    	}
    
    	public void setBtype(String btype) {
    		this.btype = btype;
    	}
    
    	public Integer getStock() {
    		return stock;
    	}
    
    	public void setStock(Integer stock) {
    		this.stock = stock;
    	}
    	
    	
    }
    
    

    RestResult:

    package com.yuwan.qiniuvideo.client;
    
    public class RestResult {
    	
    	private String code;
    	
    	private String message;
    	
    	private MemberDTO data;
    
    	public String getCode() {
    		return code;
    	}
    
    	public void setCode(String code) {
    		this.code = code;
    	}
    
    	public String getMessage() {
    		return message;
    	}
    
    	public void setMessage(String message) {
    		this.message = message;
    	}
    
    	public MemberDTO getData() {
    		return data;
    	}
    
    	public void setData(MemberDTO data) {
    		this.data = data;
    	}
    
    }
    
    

    做完这些准备之后,就是调用服务,首先在调用服务的地方注入MemberClient ,例如:

    @Resource
    private MemberClient memberClient;
    

    然后调用MemberClient 类中的方法getInfo(),这个过程就和SSM框架的调用流程是一样的了

    RestResult info = memberClient.getInfo(memberId);
    		if(info.getCode()!="200") {
    			result.setFlag(false);
    			result.setMsg("用户不存在");
    			return result;
    		}
    
  • 您还可以看一下 BRUCE老师的SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码)课程中的 分布式事务的业务场景小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    很抱歉,参考资料中提供的代码和问题描述无法得出关于springcloud报错的问题。需要更多具体信息才能确定解决方案。请提供更详细的信息,例如报错信息、代码片段等,并描述你尝试的解决方法和效果。我会尽力帮助解决问题。