分页插件报错——is in module java.base of loader ‘bootstrap‘; .page is in unnamed module of loader ‘app‘

文章讲述了在使用SpringBoot3.0及以上版本时遇到的类转换错误,问题出在PageHelper分页插件与高版本SpringBoot的兼容性。作者发现将SpringBoot版本降级到2.7.5并使用JDK17或11可以解决问题,提示读者在升级技术栈时要考虑组件的兼容性,并非所有新技术都是最佳选择。

首先来看看错误提示

 class java.util.ArrayList cannot be cast to class com.github.pagehelper.Page (java.util.ArrayList is in module java.base of loader 'bootstrap'; com.github.pagehelper.Page is in unnamed module of loader 'app')

根据这个提示上网查了一堆,很多都是说数据类型的转换错误之类的。

ClassCastException: XXX are in unnamed module of loader ‘app‘异常分析_=PNZ=BeijingL的博客-CSDN博客

看看源代码

 @Override
    public PageBean page(Integer page, Integer pageSize,String name, Short gender,LocalDate begin,LocalDate end) {
        //1. 设置分页参数
        PageHelper.startPage(page,pageSize);
        //2. 执行查询
        List<Emp> empList = empMapper.list(name, gender, begin, end);
        Page<Emp> p = (Page<Emp>) empList;

        //3. 封装PageBean对象
        PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
        return pageBean;
    }

跟着教程做的,那个代码可以运行,这个却不行,后来才发现不知是因为这个分页插件是不是不支持springboot3.0还是不知jdk17的原因,

就是不支持springboot3.0以上的版本, 把版本降到2.0的就可以解决了,这里JDK版本是17还是11都没有关系,但是springboot3.0以上版本最低都要求JDK17了

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

同时分页插件一直没显示的图案也显示了出来

 看来Springboot和JDK版本不是越高越好,很多老东西都不支持了,根据实际需求进行选择,这个分页插件也不是必须的,也可以自己写SQL。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值