zoukankan      html  css  js  c++  java
  • ClassNotFoundException这类问题的解决方案

    使用SpringBoot开发项目,要集成undertow,pom依赖没有问题如下所示:

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

    <!--springboot web-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
    &lt;!&ndash;排除tomcat容器,使用undertow&ndash;&gt;
    <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
    </exclusions>-->
    </dependency>

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

    启动项目后一直报错java.lang.ClassNotFoundException: javax.servlet.DispatcherType
    从字面是理解就是类找不到嘛,libraries中相应的依赖查看,确实没有,网上搜了一下,大家都是说类找不到是缺少依赖,尝试了添加和undertow相关的所有依赖。
    可是项目依然报错。后来看到一篇博文下的评论说,可能是依赖冲突导致的。我排查了一下自己的依赖,发现有冲突,可是不是在这个地方有冲突。然后就想,会不会是
    SpringBoot的版本和undertow的版本有冲突呢?然后尝试着修改了一下springBoot的版本。
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>

    从2.1.3改成2.0.7启动后果然不再报ClassNotFoundException的错,但是,因为项目中使用了kafka,而且还是公司自己对底层进行二次封装的kafka,
    然后再次报错
    Error creating bean with name 'kafkaListenerContainerFactoryConfigurer' XXXXXXX
    ,看到这个差点疯了。
    认真看了一下项目的pom文件,然后就思考,这会不会又是版本号稳定导致的呢,然后琢磨 spring-boot-starter-parent这个玩意儿,好像是会对项目中
    依赖的版本号进行管理的,那不如把kafka的版本去掉试试,果然掉版本号后,项目启动成功。
    总结:类找不到的问题,要么就是没有添加相关的依赖,要么就是添加的依赖和springBoot的版本有冲突。
    
    
    
    



  • 相关阅读:
    print格式化输出(format)
    Python list,tuple,dict,set高级变量常用方法
    K8s的kubectl常用命令
    C/C++中数组与指针的关系探究
    Java中的不可变类
    JAVA 类总结
    c++ string类find总结
    关于看板娘的事儿
    类型转换
    计算机2进制小数点表示法
  • 原文地址:https://www.cnblogs.com/gongchengshiwhl/p/13041972.html
Copyright © 2011-2022 走看看