qq_26083679 2024-03-28 21:46 采纳率: 69.2%
浏览 12
已结题

gateway网关配置问题

引入gateway网关的时候报错如下
springboot版本2.1.8RELEASE
cloud版本Greenwich.SR3
JDK 1.8


Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-03-28 21:42:25.422 ERROR 17336 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'statViewServletRegistrationBean' defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/stat/DruidStatViewServletConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.ServletRegistrationBean]: Factory method 'statViewServletRegistrationBean' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:607) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1321) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at com.atguigu.gulimall.gateway.GulimallGatewayApplication.main(GulimallGatewayApplication.java:14) [classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.ServletRegistrationBean]: Factory method 'statViewServletRegistrationBean' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    ... 19 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
    at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_401]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[na:1.8.0_401]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_401]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) ~[na:1.8.0_401]
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[na:1.8.0_401]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[na:1.8.0_401]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[na:1.8.0_401]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_401]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_401]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:359) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_401]
    at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_401]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[na:1.8.0_401]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_401]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) ~[na:1.8.0_401]
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[na:1.8.0_401]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[na:1.8.0_401]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[na:1.8.0_401]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_401]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_401]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:359) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_401]
    at com.alibaba.druid.spring.boot.autoconfigure.stat.DruidStatViewServletConfiguration.statViewServletRegistrationBean(DruidStatViewServletConfiguration.java:37) ~[druid-spring-boot-starter-1.1.13.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_401]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_401]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_401]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_401]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    ... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
    at java.net.URLClassLoader.findClass(URLClassLoader.java:387) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_401]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:359) ~[na:1.8.0_401]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_401]
    ... 50 common frames omitted



  • 写回答

6条回答 默认 最新

  • 关注

    qq_26083679 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    根据错误日志,这个问题是由于缺少javax.servlet.http.HttpServlet类造成的。根据您提供的信息,您的应用程序是使用Spring Boot 2.1.8版本和Cloud版本的Greenwich.SR3。

    解决方案:

    1. 检查项目的依赖项:确保您的项目中有以下依赖项:

      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <scope>provided</scope>
      </dependency>
      

      在您的pom.xml文件中添加以上依赖项,并执行mvn clean和mvn install来更新项目的依赖项。

    2. 检查maven的设置:请确保您的Maven配置文件(settings.xml)中已经配置了正确的镜像和仓库。

    3. 检查classloader冲突:可能是由于类加载器的冲突导致的问题。您可以尝试在pom.xml文件中将javax.servlet的版本指定为与Spring Boot版本兼容的版本。

    4. 检查Java版本:确保您的JDK版本是1.8或更高版本。您可以在项目的pom.xml文件中指定您要使用的JDK版本。

    尝试以上解决方案后,重新运行您的应用程序,看看是否能够成功启动。如果问题仍然存在,请提供您的pom.xml文件和其他相关代码,以便进一步排查问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月12日
  • 已采纳回答 4月4日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画