SpringBoot异常: nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext解决方案

 更新时间:2021年06月29日 11:12:39   作者:馒头花卷儿  
这篇文章主要介绍了SpringBoot异常: nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext解决方案,说明了错误原因和解决方案,需要的朋友可以参考下

今天在使用SpringBoot创建了一个项目出现如下异常

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'documentationPluginsBootstrapper': Resolution of declared constructors on bean Class [springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:281) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1204) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1129) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]

at com.zysh.server.web.ZyshWebApplication.main(ZyshWebApplication.java:12) [classes/:na]

Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext

at java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:1.8.0_162]

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[na:1.8.0_162]

at java.lang.Class.getDeclaredConstructors(Class.java:2020) ~[na:1.8.0_162]

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:276) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]

... 17 common frames omitted

Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext

at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_162]

at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_162]

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) ~[na:1.8.0_162]

at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_162]

上面很多都没有用只有一条

nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext

这里我交代一下,我不是使用的原版的父,而是自定义的。所以如果你是原版的也不会出现这个问题的。

 这里其实很简单就是找不到这个类。我回头又看了下,其实不是找不到

这里一般常用的方法就是将pom.xml文件中的如下这个坐标的scope改为  runtime 就好

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

就像这样,这样我的程序就运行成功了。但是只是这样的话也没有必要记录了。 

 你点开你的pom文件中的【spring-boot-starter-web】你会清晰的看到这里已经引入了啊

所以你在pom文件中书写的tomcat的坐标完全就是多余的嘛,很简单删除这个坐标就好。 

看不用修改scope了,程序完美运行。还有就是如果你要打war包的话,还需要将这个

【spring-boot-starter-tomcat】这个包给排除掉,为了以后少点麻烦这里还是不要改scope了直接删除就好。

到此这篇关于SpringBoot异常: nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext解决方案的文章就介绍到这了,更多相关SpringBoot解决nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot中的SpringSecurity基础教程

    Spring Boot中的SpringSecurity基础教程

    Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它实际上是保护基于spring的应用程序的标准Spring Security是一个框架,侧重于为Java应用程序提供身份验证和授权,这篇文章主要介绍了Spring Boot中的SpringSecurity学习,需要的朋友可以参考下
    2023-01-01
  • RabbitMQ排他性队列Exclusive Queue详解

    RabbitMQ排他性队列Exclusive Queue详解

    这篇文章主要介绍了RabbitMQ排他性队列Exclusive Queue详解,如果你想创建一个只有自己可见的队列,即不允许其它用户访问,RabbitMQ允许你将一个Queue声明成为排他性的Exclusive Queue,需要的朋友可以参考下
    2023-08-08
  • java中int转string与string转int的效率对比

    java中int转string与string转int的效率对比

    这篇文章主要介绍了java中int转string与string转int的效率对比,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 一文带你深入了解Java的数据结构

    一文带你深入了解Java的数据结构

    Java工具包提供了强大的数据结构。这篇文章主要为大家详细介绍了Java数据结构中常用的几种接口和类,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-05-05
  • java 中file.encoding的设置详解

    java 中file.encoding的设置详解

    这篇文章主要介绍了java 中file.encoding的设置详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Maven导入Junit4后在test中无法引用问题

    Maven导入Junit4后在test中无法引用问题

    在使用Maven进行项目管理时,可能会遇到导入依赖和打开项目结构的问题,本文通过实际经验,提供了一些解决方法和技巧,希望能帮助遇到相同问题的开发者,此外,还鼓励大家多多支持和分享个人经验,以便于共同进步
    2024-10-10
  • Spring @Cacheable注解中key的使用详解

    Spring @Cacheable注解中key的使用详解

    这篇文章主要介绍了Spring @Cacheable注解中key的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot中的配置文件加载优先级详解

    SpringBoot中的配置文件加载优先级详解

    这篇文章主要介绍了SpringBoot中的配置文件加载优先级详解,springboot启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件,需要的朋友可以参考下
    2024-01-01
  • 深入了解Java I/O 之File类

    深入了解Java I/O 之File类

    这篇文章主要介绍了Java I/O深入学习之File和RandomAccessFile, I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事。需要的朋友可以参考下
    2021-08-08
  • 用Java验证pdf文件的电子章签名

    用Java验证pdf文件的电子章签名

    这篇文章主要介绍了如何用Java验证pdf文件的电子章签名,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12

最新评论