• SpringBoot整合SpringCloud报错


    SpringBoot整合SpringCloud报错,父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>
    
        <!--使用Spring Boot应用的父级依赖
            好处:引入父pom里的依赖时无须指定版本
        -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.12.RELEASE</version> <!--SB和SC版本对应关系:https://spring.io/projects/spring-cloud-->
        </parent>
    
        <groupId>com.lhy</groupId>
        <artifactId>cloud-doc</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <packaging>pom</packaging>
    
        <modules>
            <module>doc-service-ucenter</module>
            <module>doc-service-api</module>
            <module>doc-service-atlas</module>
            <module>doc-service-order</module>
            <module>doc-service-search</module>
            <module>doc-govern-gateway</module>
            <module>doc-govern-register</module>
        </modules>
    
        <properties>
            <java.version>1.8</java.version>
            <tomcat.version>8.5.28</tomcat.version>
            <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
        </properties>
    
    
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <!--lombok-->
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>${lombok.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    
    
    
    </project>

    启动子项目报错:

    2022-04-03 20:48:12.143 INFO 25812 --- [ main] c.l.d.r.DocGovernRegisterApplication : No active profile set, falling back to default profiles: default
    2022-04-03 20:48:12.753 WARN 25812 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'service-registry' contains invalid characters, please migrate to a valid format.
    2022-04-03 20:48:12.853 INFO 25812 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=4f72d5e5-5584-3bcc-ad5c-7a9176d1d0cf
    2022-04-03 20:48:13.020 WARN 25812 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.modeler.Registry.disableRegistry()V
    2022-04-03 20:48:13.032 INFO 25812 --- [ main] ConditionEvaluationReportLoggingListener :

    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2022-04-03 20:48:13.045 ERROR 25812 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :

    ***************************
    APPLICATION FAILED TO START
    ***************************

    Description:

    An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:177)

    The following method did not exist:

    org.apache.tomcat.util.modeler.Registry.disableRegistry()V

    The method's class, org.apache.tomcat.util.modeler.Registry, is available from the following locations:

    jar:file:/D:/mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.28/tomcat-embed-core-8.5.28.jar!/org/apache/tomcat/util/modeler/Registry.class

    The class hierarchy was loaded from the following locations:

    org.apache.tomcat.util.modeler.Registry: file:/D:/mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.28/tomcat-embed-core-8.5.28.jar


    Action:

    Correct the classpath of your application so that it contains a single, compatible version of org.apache.tomcat.util.modeler.Registry

    还以为SpringBoot和SpringCloud版本不匹配呢,去https://spring.io/projects/spring-cloud 看了发现版本匹配:

      最后发现是properties中写了tomcat版本8.2.28 ,删除这个即可,spring-boot-starter-parent中的tomcat版本是

    <tomcat.version>9.0.46</tomcat.version>

    
    
    
    
    
    
  • 相关阅读:
    集群环境下定时调度的解决方案之Quartz集群
    Tomcat源码分析——类加载体系
    Linux:grep命令详解
    Linux:数据流重定向
    Linux:history命令详解
    Linux:echo命令详解
    Java 以空格分割字符串
    eclipse启动错误:An internal error occurred during: "reload maven project".
    MySQL表不能修改、删除等操作,卡死、锁死情况的处理办法。
    MySQL格式化日期参数
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/16097365.html
Copyright © 2020-2023  润新知