千家信息网

用SpringBoot排除自动装配某个class来解决jar包冲突

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"用SpringBoot排除自动装配某个class来解决jar包冲突",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"用SpringBoot排
千家信息网最后更新 2025年02月01日用SpringBoot排除自动装配某个class来解决jar包冲突

本篇内容主要讲解"用SpringBoot排除自动装配某个class来解决jar包冲突",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"用SpringBoot排除自动装配某个class来解决jar包冲突"吧!

最近和某第三方平台技术对接时, 由于对方的 restful api 还不完善, 于是被迫选择了sdk方式.

果然, 在使用SpringBoot集成sdk时, 遇上了让人头疼的jar包冲突.

对方的核心jar包依赖了gson-2.2.4.jar, 与SpringBoot自己所依赖的高版本gson发生冲突, 导致SpringBoot在低版本的gson下启动失败:

Caused by: java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;

开始解决冲突...

首先, 在pom下排除了第三方公司依赖的gson-2.2.4.jar, SpringBoot可以正常启动了. 但是, 对方sdk在高版本的gson下也无法运行:

Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonObject;

于是, 又想着去降低SpringBoot的版本, 进而降低其依赖的gson版本, 最后发现最老的SpringBoot1.4所依赖的gson都达到了2.7, 此路不通.

此时, 好像只能联系第三方公司了, 让对方把gson升级一下然后重新打jar包发过来.

待定...

期间一直纳闷一个问题: "springboot默认使用jackson的json库, 为什么启动时还要用gson?"

最后, 经人点拨, 得以解惑: springboot确实没用gson, 但是启动时会自动装配它, 以备用.

如果你不用, 可以通过exclude排除自动装配, 如下方式:

@SpringBootApplication(exclude = {GsonAutoConfiguration.class})

SpringBoot启动时装配了很多类, 详见spring-boot-autoconfigure-2.x.x.RELEASE.jar , 对于不用的, 可排除之.

到此,相信大家对"用SpringBoot排除自动装配某个class来解决jar包冲突"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

冲突 装配 版本 对方 第三方 不用 公司 内容 方式 学习 实用 更深 人头 兴趣 可以通过 实用性 实际 平台 技术 操作简单 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 一加删除浏览器用户数据库 设置服务器云端的好处 陕西耀博诚网络技术有限公司 软件开发工程师岗位认识 网络安全海报图片 为什么小米账号显示服务器出错 网络安全的危害例子 自己做挂机服务器 服务器怎么看是不是不能用 为什么要进行网络安全演练 vertica数据库日期类型 网络安全研判制度 杭州软件开发哪个品牌好 电脑samp怎么进入服务器 怎么清除电脑所以数据库 上海市服务器机房精密空调系统 软件开发工程师就业方向 章丘档案局网络安全 文明与征服怎么进入第一服务器 国潮与网络安全 光荣伴奏软件开发 怎么看数据库多少个表 数据库中判断是第几范式 常见的数据库哪些问题 网络安全事件处罚标准 服务器cpu和新的cpu 数据库读写速度最快的 杨浦区口碑好的网络技术商家 芯片 互联网 科技含量 湖南菜先生网络技术有限公司
0