当前位置: 首页 > news >正文

Java应用JDK及依赖库兼容问题扫描工具

1. Java 应用 JDK 及依赖库兼容问题扫描工具(内容还需要修改)

1.1. 背景

Java 应用在升级 JDK 或 Java 项目依赖库版本后,可能会遇到依赖库兼容性问题,即“Jar Hell”:

项目中某个依赖库(例如 a.jar)所引用的其他库(例如 b.jar)中的类、方法、字段或注解等元素无法找到,或发生类型、修饰符变更等,导致代码执行时出现以下 Error 类型的异常,出现难以预料的结果

java.lang.IllegalAccessError java.lang.IncompatibleClassChangeError java.lang.NoClassDefFoundError java.lang.NoSuchFieldError java.lang.NoSuchMethodError

具体的异常情况可参考 Java 应用升级 JDK 或依赖库可能遇到的兼容性问题

由于依赖库 a.jar 已经完成编译,在 Java 项目编译阶段不会对依赖库 a.jar 重新编译,因此在编译阶段无法发现此类问题

同时由于测试环境与生产环境的交易量、触发频率差异,及测试难以覆盖全部场景等原因,在测试环境测试阶段可能无法发现此类问题,等到发布到生产环境后出现问题时才被发现

1.2. 工具作用

当前工具支持对以下问题进行查找

检查代码中被引用但找不到的类 检查代码中有使用但不存在或不允许访问的方法 检查代码中有使用但不存在或不允许访问的字段 检查类名完全相关的类

1.3. 环境依赖

需要使用 JDK8 及以上版本运行

使用 H2 本地数据库,可不依赖其他数据库

1.4. 快速检查模式

1.4.1. 检查内容

检查代码中被引用但找不到的类

1.4.2. 执行方式

1.4.3. 执行结果检查

执行结果生成在项目根目录的“_jacg_jar_compatibility”目录,每次会在该目录下生成一个新的目录

打开“1. 被引用的不存在的类信息 .xlsx”,该文件内容较多是正常的,在该文件中出现的被引用但找不到的类不是全部都需要处理,因为相关的代码可能并不会被执行到

可对“引用类名”“被引用的类名”列进行筛选,检查关注的包名下的相关类

1.4.4. 执行耗时

项目中的 jar 文件数量在 200~300 左右时,通常执行耗时大约 2~4 分钟,与实际的代码量有关

1.5. 完整检查模式

1.5.1. 检查内容

检查代码中有使用但不存在或不允许访问的方法 检查代码中有使用但不存在或不允许访问的字段 检查类名完全相关的类

1.5.2. 执行方式

1.5.3. 执行耗时

项目中的 jar 文件数量在 200~400 左右时,通常执行耗时大约 15~35 分钟,与实际的代码量有关

http://www.rkmt.cn/news/95583.html

相关文章:

  • 6、搭建网站与服务器配置全攻略
  • 排序,,,,
  • JarDiff比较jar文件版本差异及代码影响范围
  • 7、Perl编程入门:基础语法与实用技巧
  • 12、网站元语言与通用网关接口入门
  • 国产大模型再突破:GLM-4-9B开源实测,小参数模型如何颠覆行业格局?
  • AMD全产品线战略布局深度解析:从数据中心到边缘智能的技术革新
  • 腾讯InstantCharacter开源:单图驱动自定义角色生成,AI视觉创作迎来范式革新
  • 阿里Qwen2.5-VL开源模型横空出世:多模态交互技术迎来范式突破
  • 【二叉树】DFS遍历的迭代理解
  • 46、System V 共享内存详解
  • 49、POSIX IPC 全面解析
  • 54、内存映射文件I/O与Solaris 64位文件支持详解
  • Qwen3-Omni-30B-A3B-Instruct革新音乐解析:多模态技术解锁音频深层特征
  • 人工智能音乐创作新纪元:Jukebox技术如何重塑音乐产业边界
  • 生成式人工智能全栈实践指南:从技术原理到产业落地
  • 17、网络安全文档管理与漏洞扫描工具全解析
  • 20、网络监控与故障排除工具全解析
  • 8、网络资源保护全攻略
  • 10、网络资源保护:从基础加固到数据加密
  • 12、Linux系统下Snort的配置与使用指南
  • 字节跳动SeedVR2-3B横空出世:革新视频修复技术,引领行业进入一步式超分新时代
  • 豆包手机背后的技术革命:UI-TARS模型如何重新定义智能终端交互
  • 百度ERNIE 4.5大模型深度解析:多模态技术突破与高效部署实践
  • 代码编辑新纪元:Instinct开放模型引领开发者效率革命
  • 人工智能时代的语言模型:突破、挑战与未来展望
  • 人工智能行业迎来重大突破:多模态大模型推动产业智能化转型加速
  • 类脑记忆突破:字节跳动AHN-GDN技术解决AI长文本处理效率瓶颈
  • 18、网络安全防护指南
  • DeepSeek V3.1震撼发布:128K超长上下文+编程性能超越Claude,开源模型迎来新标杆