Mybatis 源码中 Ognl 标红但是可以运行

在 debug Mybatis框架的时候,看到了个奇怪的现象,ongl.Ognl 类不存在,但是却能正常运行

不明所以,按说这个类不存在肯定是加载不到这个类的,但是现在能加载到,莫非有什么玄机?

既然不明所以,就网上查查,然后啥也没查到

后来我发现Mybatis内部有个ognl的包

但是查看源码却没有

mybatis-3/src/main/java/org/apache/ibatis/scripting/xmltags/OgnlCache.java at mybatis-3.5.9 · mybatis/mybatis-3 · GitHub

从git上明显看出来 mapping 下面是 parsing,根本也不是什么ognl啊,那他是怎么打包Mybatis的jar包中的呢,怀疑根maven有关,但是不明所以,问问AI吧

从他的回答上我看到了关键信息 maven-shade-plugin

然后搜索代码看到了如下信息

豁然开朗,原来还有这种操作,学习了。

原因就是Mybatis我看的源码,但编译后的ognl包名被修改了,就对不上了,如果不下载源码,直接看反编译文件就没问题了。如图所示,我把源码删了就好了。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值