EMT4J——Java版本迁移检测工具

简介: EMT4J是JDK版本升级检测工具,支持Java 8至17的迁移分析,扫描项目依赖并生成兼容性报告,帮助开发者提前发现API变更、废弃方法等问题,适用于Windows与Linux环境,提升升级效率。

相关文章介绍可以阅读这篇了解下:https://developer.aliyun.com/article/988484

  • 仓库:https://github.com/adoptium/emt4j
  • 总的来说,EMT4J 就是给开发者升级JDK版本时使用的检测工具,方便排错升级后的一些新特性和方法变更等。

  • 下面就介绍下怎么使用,目前 v0.8.0 版本是支持 Windows 、Linux 环境使用的

https://github.com/adoptium/emt4j/releases/tag/v0.8.0

image.png

  • 下面就介绍下在 Windows 下 EMT4J 工具的使用,Linux环境使用是类似的

  • 如:项目用到的是Java8,现在想升级到到 Java 17,需要做哪些调整?通过 EMT4J 工具对项目所用到的所有插件和三方包依赖进行兼容性扫描,把一些常用的升级问题给汇总成一个报告,提前检测下升级带来的改动点和注意事项等。

  • 本地需要提前下载好 Java 17,有关 openJDK 的下载安装可以访问我之前写的这篇文章:openJDK下载

  • 安装好 JDK 17后,不用配置环境变量,使用 EMT4J 工具的使用不需要

image.png

  • 这里拿若依项目来检测,在项目目录下创建 vmoptions 文件夹,用于配置不同服务的jvm参数

image.png

  • 如:现在需要给 ruoyi-framework 使用工具检测,就需要在 vmoptions 文件夹中创建同名的文件夹

image.png

  • 文件夹下创建对应的 cgf 文件名

image.png

  • ruoyi-framework.cfg 写入:

-Xms: 设置 初始 堆大小。
-Xms512m (初始堆 512MB)
-Xmx: 设置 最大 堆大小。
-Xmx2048m (最大堆 2048MB/2GB)
参考:Java 命令行参数详解:系统属性、JVM 选项与应用配置

-Xms1024m -Xmx2048m
  • 执行EMT4J命令
-f 8:表示从JDK 8开始
-t 17:表示要升级到JDK 17
-j D:\jdk-17:指定目标JDK 17的安装路径
D:\jdk-17 E:\xdr-project\RuoYi-Vue:指定应用包和配置文件的根目录
cd E:\emt4j\emt4j\bin
E:\emt4j-0.8.0\bin>analysis.bat -f 8 -t 17 -j D:\jdk-17 E:\xdr-project\RuoYi-Vue
  • 生成报告后

image.png

image.png

image.png

  • 大多都是一些第三方包或者Tomcat漏洞之类的,或者弃用的属性方法等
  • 如果是多个服务需要使用工具检测,就同理按照上面的方式在 vmoptions 中新增对应的服务名文件夹和 cfg 文件
  • 当然也可以使用Maven插件的方式去检测,仓库中也有对应的使用说明
目录
相关文章
|
3月前
|
消息中间件 NoSQL Java
spring boot2升级boot3指南
本文介绍了如何将Spring Boot 2.x升级至Spring Boot 3.x,涵盖使用OpenRewrite自动化重构工具进行代码转换、依赖版本升级、配置属性调整及常见问题处理等内容,帮助开发者高效完成升级工作。
1446 6
|
20天前
|
Java 调度 数据库
Spring框架中@Scheduled注解的使用示例
以上步骤和例子提供了Spring框架中 `@Scheduled`使用的具体方法,允许开发者灵活地进行任务调度。通过结合不同的属性,可以精确控制方法的调度策略,以满足不同场景下的需要。
94 9
|
25天前
|
监控 Java 开发者
Spring Boot 核心原理解析与实践(含代码示例)
Spring Boot基于“约定优于配置”理念,通过自动配置、Starter依赖和内嵌服务器,简化Spring应用的搭建与开发。支持快速集成Web、数据访问、安全等模块,并提供Actuator监控、分布式事务等生产级特性,助力高效构建微服务系统。(238字)
489 17
|
5天前
|
弹性计算 搜索推荐 应用服务中间件
阿里云服务器优惠价格表:38元1年、99元和199元收费,一个月89元和160元配置清单
阿里云爆款服务器特惠:轻量应用服务器38元/年起,ECS云服务器2核2G仅99元/年,2核4G 199元/年;4核16G 89元/月,8核32G 160元/月。香港轻量服务器25元/月起,200M带宽不限流量。GPU服务器A10/T4/V100等型号享月度优惠。更多配置及按小时计费详情,见阿里云官方活动页。
阿里云服务器优惠价格表:38元1年、99元和199元收费,一个月89元和160元配置清单
|
5天前
|
存储 运维 安全
别再把 Collector 当黑箱:OpenTelemetry Collector 拓展与自定义处理器实战指南
别再把 Collector 当黑箱:OpenTelemetry Collector 拓展与自定义处理器实战指南
76 14
|
12天前
|
Java Nacos Sentinel
SpringCloud 微服务解决方案:企业级架构实战
全面介绍 SpringCloud 微服务解决方案,涵盖服务注册发现、网关路由、熔断限流、分布式事务等企业级实践
|
23天前
|
数据采集 机器学习/深度学习 数据可视化
基于python大数据的小说数据可视化及预测系统
本研究基于Python构建小说数据可视化与预测系统,整合多平台海量数据,利用爬虫、数据分析及机器学习技术,实现热度趋势预测与用户偏好挖掘。系统结合Django、Vue等框架,提供动态交互式可视化界面,助力平台精准运营、作者创作优化与读者个性化阅读体验,推动网络文学数据智能化发展。
|
23天前
|
人工智能 编解码 数据可视化
构建AI智能体:三十、精雕细琢:驾驭关键词的细微差别,解锁高质量提示词编排与视觉表征
《AI图像生成中的提示词工程艺术》摘要:文章系统阐述了人工智能图像生成中的提示词工程(Prompt Engineering)技术。通过具体案例对比,展示了细微的提示词差异如何导致图像质量的巨大分野,详细解析了提示词的核心要素、语法结构及编排方法。文章提出专业级提示词的多维描述矩阵和权重控制语法,强调精准描述与AI沟通的重要性。同时指出,提示词工程是艺术与科学的结合,需要不断练习和实验才能掌握这项数字时代的关键创造力技能。
186 11
|
6天前
|
Web App开发 监控 JavaScript
Vue 3 内存泄漏排查与性能优化:从入门到精通的工具指南
本文深入剖析 Vue 3 应用内存泄漏的根源,从响应式系统机制讲起,结合定时器泄漏等实战案例,揭示闭包与全局引用导致的 GC 回收失败问题。通过对比 vue-performance-monitor、memory-monitor-sdk、Chrome DevTools 与 Memlab 四大工具,构建覆盖开发、测试到 CI/CD 的全链路检测体系,并提出三层防御架构与五大黄金法则,助力开发者打造高性能、零泄漏的 Vue 应用,实现从调试者到性能架构师的跃迁。(239字)
69 7
Vue 3 内存泄漏排查与性能优化:从入门到精通的工具指南
|
5天前
|
人工智能 弹性计算 应用服务中间件
阿里云搭建网站收费标准:自建网站、云小智AI建站和云企业官网价格更新
阿里云建站三种方案:1)自购服务器,38元起/年,适合有技术者;2)万小智AI建站,698元起/年,送CN域名,零基础可操作;3)云企业官网,5480元起/年,定制设计,适合中大型企业。按需选择,性价比高。