本地没有第三方的jar如何在本地编码,并在生产环境调用该工具类?
场景分析
直接说一个开发中遇到的一个场景。某方电网不允许使用Minio作为对象存储,部署在甲方服务器则需要使用甲方开发的对象存储组件(该组件假设命名AAA)。
由于开发环境均在本公司内网。本公司内网是无法部署甲方AAA系统,更拿不到文档提供的UpdateCilent工具类的jar包的。面对此场景。我们分析了3种解决方案!
1、使用第三方jar包。本地拿不出来,那就把本地开发完的代码、该项目的Maven依赖上传到甲方服务器,将项目导入甲方服务器编译器,并在甲方机器上打包。
2、抓取Rest API。AAA系统有后端管理系统。我们通过Rest抓包拿到后台管理系统的登录、认证信息,然后再抓包拿到AAA系统的上传、下载的Rest API。我们自己封装HttpUtil去调用ResAPI实现。
3、反射。我们在甲方服务器知道该工具类的class.forName需要的全限定类名、方法的参数。于是我们就可以使用反射代替new Util()的代码检查期间报错。实现思路:项目加一个配置文件,我们公司内网配置走Minio、甲方环境走反射调用方法。这样编译期间不会报错!
反射的实现方案
假设工具类叫Hello
反射调用方法示例
文章版权声明:除非注明,否则均为八一构原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...