无法启动嵌入式Tomcat NoClassDefFoundError DispatcherServletPath

夏天的忧伤

我的pom.xml

<?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.qroom</groupId>
<artifactId>qroom</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>qroom</name>
<description>qRoom Server</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>

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

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

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-autoconfigure</artifactId>
        <version>2.0.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.3.5.Final</version>
    </dependency>

    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.23.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-oauth2</artifactId>
    </dependency>
</dependencies>
<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>
    </dependencies>
</dependencyManagement>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
</project>

当我启动我的应用程序时,出现以下错误:

org.springframework.context.ApplicationContextException:无法启动Web服务器;无法启动Web服务器。嵌套的异常是org.springframework.boot.web.server.WebServerException:无法在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:155)上启动嵌入式Tomcat。〜[spring-boot-2.0 .4.RELEASE.jar:2.0.4.RELEASE]在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)〜[spring-context-5.0.8.RELEASE.jar:5.0.8。 RELEASE]位于org.springframework.org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)〜[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]。 boot.SpringApplication.refresh(SpringApplication.java:762)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]在组织。省略了8个公共框架引起原因:org.springframework.beans.factory.BeanCreationException:在类路径资源[org / springframework / boot / actuate / autoconfigure / endpoint / web / ServletEndpointManagementContextConfiguration $ WebMvcServletEndpointManagementContextConfiguration.class中创建名称为“ servletEndpointRegistrar”的bean时出错]:通过工厂方法实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.boot.act.ateu.endpoint.web.ServletEndpointRegistrar]:工厂方法servletEndpointRegistrar抛出了异常;嵌套的异常是java.lang.NoClassDefFoundError:org.springframework.beans.factory.support.ConstructorResolver上的org / springframework / boot / autoconfigure / web / servlet / DispatcherServletPath。util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)〜[na:1.8.0_131]在java.lang.Thread.run(Thread.java:748)〜[na:1.8.0_131]原因: org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]:工厂方法servletEndpointRegistrar抛出异常;嵌套的异常是java.lang.NoClassDefFoundError:org.springframework.beans.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)的org / springframework / boot / autoconfigure / web / servlet / DispatcherServletPath ~~ [spring-beans-5.0 .8.RELEASE.jar:5.0.8.RELEASE]位于org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582)〜[spring-beans-5.0.8.RELEASE.jar:5.0。 8.RELEASE] ...

嵌套的异常是java.lang.NoClassDefFoundError:org / springframework / boot / autoconfigure / web / servlet / DispatcherServletPath


我发现,问题出在spring-cloud-starter-oauth2依赖项上。如果我将其移除,则一切正常。我该如何解决这个问题?

夏天的忧伤

迪努姆先生的评论帮助我解决了问题

对于初学者,请停止混合使用同一框架的版本(2.0.4和2.0.2)。要覆盖休眠版本,请向元素添加5.3.5.Final并删除休眠依赖项。注意:DispatcherServletPath是在Spring Boot 2.0.4中添加的,因此您的版本不匹配可能是此问题的根本原因

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法启动嵌入式容器;嵌套的异常是java.lang.NoClassDefFoundError:java / nio / charset / StandardCharsets

春季启动:无法启动嵌入式Tomcat servlet容器

Spring Boot嵌入式Kafka集成引发NoClassDefFoundError

Spring Boot:WebServerException:无法启动嵌入式Tomcat

运行 Eureka Server 时无法启动嵌入式 Tomcat

Tomcat嵌入式启动错误

重新启动嵌入式tomcat

YouTube嵌入式视频无法启动

连接到嵌入式Derby数据库时出现java.lang.NoClassDefFoundError

Spring Boot服务器无法启动嵌入式Tomcat服务器

无法启动Tomcat的嵌入式org.springframework.context.ApplicationContextException

与 SpringBootTest 一起使用时,Spring Boot 嵌入式 Tomcat 无法启动

spring-boot 嵌入式 tomcat 无法启动 [2.2.6 vs 2.2.2]

无法启动 bean 'webServerStartStop';无法启动嵌入式 Tomcat 服务器 - spring-boot-starter-web

春季启动嵌入式的tomcat +访问日志与认证用户

如何提高SpringBoot嵌入式Tomcat的启动时间

在具有gradle依赖项的嵌入式模式下连接到derby时出错:NoClassDefFoundError SystemPermission

Java NoClassDefFoundError无法编译

Spring Boot,无法初始化嵌入式tomcat

春季启动嵌入式卡夫卡无法连接

无法启动嵌入式Jetty服务器

Spring框架无法启动嵌入式容器

无法在嵌入式模式下启动 Jetty

嵌入式Linux和Init问题-Init无法启动

当所有报表服务都部署在 AWS FARGATE ECS 容器上时,无法启动嵌入式 Tomcat

将AOP包含在Spring Boot中(使用JavaConfig)会导致嵌入式Tomcat无法启动

Firebase 快速启动抛出 NoClassDefFoundError

设置“relaxedQueryChars”嵌入式的Tomcat

SpringBoot 2.1.3:嵌入式Tomcat的日志