首页 > 其他分享 >甲方甩给两个存在相同包名与类名的Jar包,要在工程中同时使用怎么办?

甲方甩给两个存在相同包名与类名的Jar包,要在工程中同时使用怎么办?

时间:2024-06-03 10:00:30浏览次数:26  
标签:包名 集成 调用 Jar 接口 deviceNo 第三方 类名

项目与第三访系统集成通信的技术方案中,有一种方式是被集成方提供 Jar 包,Jar 包里提供了调用被集成方(第三方)相关功能的Java类或接口,很多都同时附带一份集成开发文档。
如果第三方在不同时期提供的jar包,相互存在冲突,而工程中又必须同时使用这两个 jar 包,该怎么办呢?

冲突场景

解决方案1:微服务隔离

解决方案2:类加载器隔离

第三方接口v1版本的调用结果:
DeviceBasicInfoV1 {
    deviceNo='GUWD5320P001',
    status='RENT_OUT',
    socketCount=8,
    inboundDate=Sun Mar 03 15:32:28 CST 2019,
    manager='张三'
}

第三方接口v2版本的调用结果:
DeviceBasicInfoV2 {
    deviceNo='GUWD5320P001',
    status='RUNNING',
    totalSocketCount=22,
    monitorSocketCount=6,
    slotCount=3,
    region='西南',
    usage='市排水给水流量监测'
}

小结

标签:包名,集成,调用,Jar,接口,deviceNo,第三方,类名
From: https://www.cnblogs.com/guzb/p/18204730/isolate-conflicting-jar-pkgs-with-classloader

相关文章

  • springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行解决方法
    问题描述:springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行说明:以下两种打包方式均在IDEA软件内完成,上传服务器使用宝塔面板管理1.第一次打包方式; 设置完打包路径后,进入build菜单进行打包:  选择build或rebuild进行打包,打包后上传jar包到服务器,运......
  • [论文速览] Design and Development of a Framework For Stroke-Based Handwritten Gu
    1.Pretitle:DesignandDevelopmentofaFrameworkForStroke-BasedHandwrittenGujaratiFontGenerationsource:arXiv2024paper:https://arxiv.org/abs/2404.03277code:None关键词:fontgeneration,handwritten,gujarati,stroke阅读理由:刷新鲜论文ing2.Mo......
  • linux 快速部署jar 并加入开机自启(超方便)
    第一步cd/etc/systemd/system/第二步创建app.service可以在本地创建好在传到/etc/systemd/system/目录下/usr/bin/java需要改成自己的java环境对应地址/srv/sites/app.jar改为自己jar存放包地址[Unit]Description=appserviceAfter=syslog.target[Service]Type......
  • 【使用技巧】CodeDecom.exe批量反编译JAR包+Beyond Compare对比
    使用工具进行批量反编译+差异对比,检查确认补丁变更D:\tmp\test\CodeDecom>CodeDecom.exe source D:\tmp\test\jarForder  D:\tmp\test\codeForder......
  • 将 Spring data JPA jars 升级到 v3.3.0 后出现 java.lang.NoSuchMethodError 错误
    在我将springdatajpa和commonsjar升级到我们产品的3.3.0版本后,我遇到了这个错误。Causedby:java.lang.NoSuchMethodError:'voidcom.org.application.server.services.workorder.database.dao.UpdateWorkOrder._persistence_checkFetchedForSet(java.lang.String)'......
  • springboot~封装依赖引用包jar还是pom,哪种更规范
    将多个第三方包封装成一个项目后,如果你的目的是让其他开发人员可以直接引用这些依赖,一般来说有两种常见的方式:打成JAR包:将封装好的项目编译打包成JAR文件,其他开发人员可以将这个JAR文件添加到他们的项目中,并在项目的构建工具(比如Maven)中配置该JAR作为依赖。这样做的好处是简单......
  • centos7.9简单的jar包的部署脚本
    #!/bin/bash#应用程序的名字APP_NAME="wecom"BASE_PATH="/home/cy/soft/wecom/"#JAR文件的新版本路径JAR_PATH="${BASE_PATH}${APP_NAME}.jar"#PID文件的路径PID_PATH="${BASE_PATH}${APP_NAME}.pid"#上传jar文件的位置JAR_BAK_PATH="......
  • idea配置maven插件打包所有jar到lib
    在IntelliJIDEA中配置Maven插件以将所有依赖的JAR打包到一个lib文件夹中,通常不是通过直接配置IDEA来完成的,而是通过在Maven项目的pom.xml文件中添加相应的配置来实现的。下面是一个简单的步骤指南,说明如何在Maven项目中实现这一目标:添加Maven依赖插件:在你的......
  • [JarEditor]一款无需解压直接编辑修改jar内容的IDEA插件
    前言IDEA自带的反编译插件能打开jar反编译class,遗憾的是不能编辑class,有的时候我们需要修改jar的时候还需要解压,反编译class,然后新建.java,修改代码,再编译,最后打包jar。我敢说中间的过程你肯定不是一气呵成的,如果jar有依赖还要花时间去排查,打包的时候还需要注意编译jdk的版本,有的......
  • Android11快速编译并替换framework.jar
    Android11快速编译并替换framework.jar在Android11之前修改了framework相关代码,只需makeframework就可以编译出framework.jar。在Android11,这个编译命令不起作用了,根据framework/base/目录下Android.bp中的提示:java_library{name:"framework-minus-apex",defaults:......