CVE-2023-22602 CVE-2023-34478 shiro升级1.12.0报错类文件具有错误的版本 61.0, 应为 52.0

第二次遇到这个问题,因为两次情况都有点诡异所以记录一下,不一定具备普遍性,仅供参考。

遇到这个问题的前提是shiro需要升级,从1.10.0到1.12.0,pom.xml中代码如下:

<!-- Shiro -->
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.12.0</version>
</dependency>

升级后系统无法正常编译,一些毫不相干的文件开始报错:类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径

在这些报错文件中查看具体报错位置,发现他们指向org.springframework相关依赖包6.0.10,尝试将报错头文件的依赖包指向改回5.x版本,并在Maven Repository中删除6.0.10相关包,未果。

想起之前遇到类似报错,是因为有个别springframework相关依赖的版本指定为RELEASE,导致版本过高引起类似错误,全局搜索pom.xml中的RELEASE,将其改为固定版本,此处为避免报错,选择了之前确定正常使用的5.3.23:

再次确认Maven Repository中6.0.10已经全部删除,重新编译,然后诡异场景出现了,万恶之源的6.0.10回来了……

此时处于一筹莫展的状态随手Beyond Compare比较了一下上次可用系统代码和此时的代码区别,发现本地代码的pom.xml文件中出现了并非自己添加的一段:

很明显,每次编译后会冒出来的6.0.10是因为这段并非我自己添加的引用依赖代码(应该是不相干的代码在报错找不到版本的时候自动关联添加的),删除这个,再次删除Maven Repository中所有的6.0.10,果然,编译成功,一切正常。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值