`

springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with

阅读更多

在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到consule中,并报错“

了解springcloud架构可以加求求:三五三六二四七二五九

  1. Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. "+ 
  2.  
  3.  "Please remove spring-boot-starter-web dependency
     
    分析了一下,发现在如下代码中会报这个log信息
    Configuration
     
    @AutoConfigureBefore(GatewayAutoConfiguration.class)
     
    public class GatewayClassPathWarningAutoConfiguration {
     
     private static final Log log = LogFactory.getLog(GatewayClassPathWarningAutoConfiguration.class);
     
     private static final String BORDER = "\n\n**********************************************************\n\n";
     
     @Configuration
     
     @ConditionalOnClass(name = "org.springframework.web.servlet.DispatcherServlet")
     
     protected static class SpringMvcFoundOnClasspathConfiguration {
     
      public SpringMvcFoundOnClasspathConfiguration() {
     
       log.warn(BORDER+"Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. "+
     
         "Please remove spring-boot-starter-web dependency."+BORDER);
     
      }
     
     }
     
     @Configuration
     
     @ConditionalOnMissingClass("org.springframework.web.reactive.DispatcherHandler")
     
     protected static class WebfluxMissingFromClasspathConfiguration {
     
      public WebfluxMissingFromClasspathConfiguration() {
     
       log.warn(BORDER+"Spring Webflux is missing from the classpath, which is required for Spring Cloud Gateway at this time. "+
     
         "Please add spring-boot-starter-webflux dependency."+BORDER);
     
      }
     
     }
     
    }
     最终,我们分析是swagger启动时所要的jar包和springCloud有所冲突,修改我们的POM文件如下,主要是版本的问题:

       发现consul 1.2版本需要和SpringCloud的Finchley版本才能整合

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
     
     
     
     
     
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Finchley.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

     转载于:https://blog.csdn.net/qq116165600/article/details/90640451

分享到:
评论

相关推荐

    SpringBoot系列 使用 consul 作为服务注册组件.docx

    使用 Consul 作为 SpringBoot 应用的服务注册组件,可以享受到其全面的功能,如服务发现、健康检查和 DNS 支持。集成 Consul 时,通过 @EnableDiscoveryClient 注解、DiscoveryClient 和 LoadBalancerClient 接口,...

    springcloud整合nacos和consul

    在`spring-cloud-lidong-example`这个示例项目中,你可以看到具体的代码实现,包括如何配置和使用Nacos或Consul进行服务注册与发现。通过研究这个例子,你可以更好地理解这两个工具在SpringCloud中的实际应用。

    分布式微服务例子:SpringBoot2.X+SpringCloud+SpringDataJPA+Consul+Feign+Swagger

    在这个例子中,我们看到一个基于Spring Boot 2.x、Spring Cloud、Spring Data JPA、Consul、Feign和Swagger构建的微服务系统。以下是这些技术在系统中的关键应用和知识点: 1. **Spring Boot 2.x**: 是一个快速开发...

    spring boot整合consul、fegin、HystrixCommand

    在现代的分布式系统中,服务发现、服务调用和熔断机制是不可或缺的组件,Spring Boot结合Consul、Feign和HystrixCommand可以有效地解决这些问题。本文将深入探讨这三个技术如何协同工作,构建出一个健壮的微服务架构...

    spring boot+spring cloud+spring mvc+mybatis

    Spring Boot、Spring Cloud、Spring MVC和MyBatis是Spring生态系统中的关键组成部分,它们各自扮演着不同的角色,共同构建了一个完整的微服务架构。 1. **Spring Boot**:Spring Boot简化了Spring应用程序的初始...

    Springboot consul 服务提供端和服务发现端

    3. **启动服务注册**:在Spring Boot应用启动时,会自动将服务注册到Consul。这可以通过在主类上添加`@EnableDiscoveryClient`注解实现。 4. **服务发现**:在其他服务中,我们可以通过`@LoadBalanced`注解的...

    springboot与consul整合案例

    接下来,我们将分步骤解析如何在 Spring Boot 应用中集成 Consul: 1. **添加依赖**: 在 Maven 或 Gradle 项目中,你需要引入 Spring Cloud 对 Consul 的支持。对于 Maven,可以在 `pom.xml` 文件中添加如下依赖...

    springcloud-consul-provider:spring cloud中使用consul作为注册中心——服务提供者

    本项目"springcloud-consul-provider"正是展示了如何将Consul集成到Spring Cloud应用中,将其作为服务注册与发现的中心。以下是对这个项目的详细解读。 1. **Consul简介**: Consul是由HashiCorp公司开发的一款...

    10Spring Cloud Consul:服务治理与配置中心1

    2. 创建应用注册到 Consul:我们可以通过改造 user-service 和 ribbon-service 来演示下服务注册与发现的功能,主要是将应用原来的 Eureka 注册中心支持改为 Consul 注册中心支持。创建 consul-user-service 模块和 ...

    springcloud-consul-consumer:spring cloud中使用consul作为注册中心——服务消费者

    本项目"springcloud-consul-consumer"旨在演示如何在Spring Cloud应用中将Consul作为服务注册中心,实现服务消费者的配置。以下是对这个项目的详细解读。 1. **Consul介绍** Consul是由HashiCorp公司开发的一款...

    spring-cloud-consul-demo:spring-cloud-consul 各种功能的游乐场

    下载 Consul UI 并将内容复制到 AGENT_PATH/web-ui 从拉取 spring-cloud-consul-demo 运行 mvn clean package 从其文件夹中运行 agent: consul agent: consul agent -server -bootstrap-expect 1 -data-dir ./tmp ...

    SpringCloud——服务注册(consul)

    本文将深入探讨Spring Cloud如何整合Consul实现服务注册。 Consul是由HashiCorp公司开发的一款分布式系统服务发现与配置工具。它具有服务发现、健康检查、KV存储、多数据中心的特性。Consul通过HTTP API和DNS接口,...

    spring-boot-admin-consul:使用consul作为发现注册表的spring-boot-admin

    Spring Boot Admin为Spring Boot应用程序提供了一个简单的管理界面。 特征: 显示名称/编号和版本号 显示健康状况 显示指标 设置日志级别 与JMX-Beans交互 查看线程转储 查看痕迹 有关更多信息,请参见: : 如何...

    Springboot consul 服务端

    标题“Springboot consul 服务端”暗示了我们将讨论如何在Spring Boot应用中集成并使用Consul作为服务发现和注册的工具。服务发现是微服务架构中的关键组成部分,它允许服务之间相互找到并通信,而无需硬编码其他...

    consul-unauthorized:consul未授权访问

    consul可以进入后台,威胁敏感信息,对网络设备进行操作

    Spring Cloud Consul With Jersy

    Spring Cloud Consul是Spring Cloud生态中的一个子项目,它为Spring Boot应用提供了与Consul交互的客户端库,使得应用能够注册到Consul服务发现中心,并从Consul获取配置信息。 首先,我们来了解一下Spring Cloud ...

    Spring Cloud Zuul带注册中心Consul

    Spring Cloud Zuul是基于Spring Boot实现的微服务网关,它提供路由转发、过滤器等功能,使得客户端可以方便地访问到后端微服务。在这个示例中,Zuul与Consul结合,使得Zuul能够动态地发现注册在Consul中的服务,实现...

    18年springboot+springclound 微服务 视频学习教程

    SpringBoot和SpringCloud是现代Java开发中非常重要的两个框架,它们在构建微服务架构中扮演着核心角色。SpringBoot简化了Spring应用的初始搭建以及开发过程,而SpringCloud则为微服务提供了完整的解决方案。让我们...

    springboot+consul+多数据源配置 版本2.1.2

    2. 配置Consul:设置Consul的地址、端口等信息,并配置服务发现和配置中心。 3. 配置多数据源:定义多个数据源bean,每个对应一个数据库,配置数据库连接信息,如URL、用户名、密码等。 4. 使用Spring Data JPA:...

Global site tag (gtag.js) - Google Analytics