相关文章推荐
追风的香菜  ·  小米路由器自定义Hosts怎么设置-百度经验·  8 月前    · 
买醉的墨镜  ·  连云港市教育局·  1 年前    · 
没读研的菠萝  ·  AUR (en) - caj2pdf-qt·  1 年前    · 
魁梧的开心果  ·  重磅!翠园中学新校区建设启动勘察招标|明珠学 ...·  1 年前    · 
玩滑板的啄木鸟  ·  带DRS的STi将再次冲击曼岛TT圈速记录_ ...·  1 年前    · 
Code  ›  【Bug】CGLIB与JDK17不兼容,依赖失效,模块化报错问题及解决方式ClassFormatError: accessible: module java.base does not ‘opens-
https://cloud.tencent.com/developer/article/2486371
独立的黑框眼镜
2 周前
三三是该溜子

【Bug】CGLIB与JDK17不兼容,依赖失效,模块化报错问题及解决方式ClassFormatError: accessible: module java.base does not ‘opens

腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
发布
三三是该溜子
社区首页 > 专栏 > 【Bug】CGLIB与JDK17不兼容,依赖失效,模块化报错问题及解决方式ClassFormatError: accessible: module java.base does not ‘opens

【Bug】CGLIB与JDK17不兼容,依赖失效,模块化报错问题及解决方式ClassFormatError: accessible: module java.base does not ‘opens

作者头像
三三是该溜子
发布 于 2025-01-13 08:16:53
发布 于 2025-01-13 08:16:53
2.2K 1
举报
文章被收录于专栏: 该溜子的专栏 该溜子的专栏

引入:本文面向人群CGLIB代理与JDK9+版本不兼容导致的报错

一:报错信息和相关代码展示

代码语言: javascript
复制
public class DynamicMain {
    public static void main(String[] args) {
        //subject可以翻译为对象,代理对象
        HouseSubject target= new RealHouseSubject();
        //创建一个代理对象
        HouseSubject proxy = (HouseSubject)
                Enhancer.create(target.getClass(), new CGLIBInterceptor(target));
        proxy.rentHouse();
}
代码语言: javascript
复制
package com.example.springaop.brokerdemo2;
import lombok.val;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
import java.lang.reflect.Method;
import java.sql.SQLOutput;
 * Created with IntelliJ IDEA.
 * Description:
 * User: Hua YY
 * Date: 2024-12-30
 * Time: 11:25
public class CGLIBInterceptor implements MethodInterceptor {
    //目标对象,被代理的对象
    private Object target;
    public CGLIBInterceptor(Object target){
        this.target = target;
    @Override
    public Object intercept(Object o, Method method
            , Object[] objects, MethodProxy methodProxy) throws Throwable {
        //代理增强内容
        System.out.println("我是中介,开始代理");
        //调用方法(反射机制)
        Object retVal = method.invoke(target, objects);
        //代理增强内容
        System.out.println("我是中介,代理结束");
 
推荐文章
追风的香菜  ·  小米路由器自定义Hosts怎么设置-百度经验
8 月前
买醉的墨镜  ·  连云港市教育局
1 年前
没读研的菠萝  ·  AUR (en) - caj2pdf-qt
1 年前
魁梧的开心果  ·  重磅!翠园中学新校区建设启动勘察招标|明珠学校|名校|寄宿制_网易订阅
1 年前
玩滑板的啄木鸟  ·  带DRS的STi将再次冲击曼岛TT圈速记录_车家号_发现车生活_汽车之家
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号