SpringBoot自定义类加载器,项目打包成jar包后,加载不到Class

项目涉及需要留接口给第三方进行功能扩展,第三方实现统一的扩展接口后将扩展代码上传到了数据库,再执行扩展方法的时候再将扩展类加载到jvm内存。因为是加载项目外的class类,所以通过实现自定义类加载器继承了ClassLoader通过defineClass方法去实现外部类的加载。但是在通过spring-boot-maven-plugin插件打包后jar包内目录结构变化,项目中存在的类(如项目中统一的扩展类接口,依赖类等)都无法通过自定义类加载器加载到。

通过spring-boot-maven-plugin插件打包后jar包内目录结构

通过maven-jar-plugin插件打包后jar包内目录结构

解决方法 :不改变打包方式,通过继承线程上下文类加载器的方式,可以解决该问题

相关推荐
SelectDB12 小时前
Apache Doris 中的 Data Trait:性能提速 2 倍的秘密武器
数据库·后端·apache
i***279512 小时前
Spring boot 3.3.1 官方文档 中文
java·数据库·spring boot
zhengzizhe13 小时前
LangGraph4j LangChain4j JAVA 多Agent编排详解
java·后端
程序员鱼皮13 小时前
又被 Cursor 烧了 1 万块,我麻了。。。
前端·后端·ai·程序员·大模型·编程
重整旗鼓~13 小时前
3.会话功能-AiServices工具类
java·语言模型·langchain
福大大架构师每日一题13 小时前
2025-11-27:为视频标题生成标签。用go语言,给定一个字符串 caption(视频标题),按下面顺序处理并输出一个标签: 1. 将标题中的各个词合并成一
后端
程序员爱钓鱼13 小时前
Go语言 OCR 常用识别库与实战指南
后端·go·trae
tonydf13 小时前
动态表单之后:如何构建一个PDF 打印引擎?
后端
allbs13 小时前
spring boot项目excel导出功能封装——4.导入
spring boot·后端·excel
代码不停13 小时前
Java单链表和哈希表题目练习
java·开发语言·散列表