- 博客(110)
- 收藏
- 关注
原创 easyexcel和poi版本冲突报错深入解析v2
那么我们就可以大胆的猜测了(为什么时猜测,我也不知道对不对,欢迎大家讨论)编译阶段,仅仅对直接引入的库中的方法进行检测是否存在,例如这里只判断easye库的MyGet.testGet,而easye库如果引用了其他库的方法,例如poi中的方法,由于已经编译成了MyGet.class,不再进行MyGet.class重新编译,所以深层的方法不在编译器发现(因为编译MyTest.class,只需要知道MyGet.testGet即可)。JVM运行时,会根据方法的签名进行调用,如果方法的签名不在,报错。
2024-06-18 14:55:00
4329
原创 Java throw exception时需要重点关注的事情!
Java异常行号定位问题解析:当预先创建异常对象再抛出时(如UnsupportedOperationException exception = new UnsupportedOperationException()),堆栈跟踪中的行号会指向异常对象初始化的位置(如13行),而非实际抛出位置(如20行)。这会导致排查时难以快速定位错误源。建议遵循最佳实践:在throw语句中直接new异常对象(如throw new UnsupportedOperationException()),确保异常行号能准确反映抛出位置
2025-08-06 19:33:28
479
原创 关于前端vue3+element-plus项目正常安装运行时未报错,但是前端界面老是空白问题及解决方案(其他使用nodejs的框架同理)
前端npm install 安装成功后,并且npm run serve也成功运行(控制台安装及运行没有任何报错信息)。但是前端运行后,启动访问前端界面一直空白,但是浏览器标签栏的标签有图标和title描述。调整node版本和组内可以正常显示的版本一致(小版本也需要一致,最好原封不动)。我就是16.16.xx,组内成功运行的是16.13.xx,以为小版本无所谓,试了很多方法都没有解决,实在没有办法了,就想到了node版本问题。所以如果是专门前端,建议安装nvm管理node版本吧。
2024-09-24 12:47:47
607
原创 动态代理更改Java方法的返回参数(可用于优化feign调用后R对象的统一处理)
需要使用的service,只需要使用动态代理,传入ClientProxyDhHandler并注入到容器中,即可完成统一的远程调用处理。这里只是测试,如果使用Spring等框架,可以直接从容器中获取afterInterface ,然后afterInterface 创建代理到容器中。可以看到invoke方法中对R对象进行了统一处理,并且后续根据需要,可以通过错误码进行日志输出和报错,通过全局异常处理器,返回前端。某些场景,调用别人的方法,但是它外面包了一层,我们只需要里面实际的数据,例如后端开发中的。
2024-07-24 18:01:16
1483
原创 Java根据code获取枚举优化
这样如果别人不熟悉实现,使用我们的工具类,可以强制让使用该工具类的人员,必须通过BaseDescEnum实现进行重写getDescription,防止忘记重写getDescription,从而获取到错误的description。同理,其他需要用到此方法,都需要复制上面的方法,并更改为对应类型,大量重复性工作。哪个枚举类需要根据code获取对应的枚举,就在该枚举类中添加获取方法。第1种就算不需要根据。实际场景中,可能远远大于2个,每个枚举类内item有。为枚举类的公共父类,规定必须是枚举类可以用此方法。
2024-07-24 14:17:06
1598
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅