仓库:https://github.com/adoptium/emt4j总的来说,EMT4J 就是给开发者升级JDK版本时使用的检测工具,方便排错升级后的一些新特性和方法变更等。 下面就介绍下怎么使用,目前 v0.8.0 版本是支持 Windows 、Linux 环境使用的https://github.com/adoptium/emt4j/releases/tag/v0.8.0 下面就介绍下在 Windows 下 EMT4J 工具的使用,Linux环境使用是类似的如:项目用到的是Java8,现在想升级到到 Java 17,需要做哪些调整? 通过 EMT4J 工具对项目所用到的所有插件和三方包依赖进行兼容性扫描,把一些常用的升级问题给汇总成一个报告,提前检测下升级带来的改动点和注意事项等。 -Xmx2048m (最大堆 2048MB/2GB)参考:Java 命令行参数详解:系统属性、JVM 选项与应用配置-Xms1024m -Xmx2048m执行EMT4J命令-f 8:表示从JDK 8开始
作者 | Johan Janssen 译者 | 张卫滨 策划 | 丁晓昀 Adoptium 发布了 Eclipse Migration Toolkit for Java(EMT4J),这是一个开源的 EMT4J 将支持升级到未来的 LTS 版本。 很多组织都建议使用最新的 Java 运行时,以获取安全性和功能方面的改进。 EMT4J 提供了一个支持 Maven 插件(目前在 Maven 中央仓库尚不可用)、Java 代理以及命令行的解决方案,以便于分析项目与新版本 Java 的不兼容性,结果会以 ** TXT、JSON 为了演示 EMT4J,考虑如下的样例应用,它调用了 Java 11 中已经删除的 ** Thread.stop() **方法: Thread thread = new Thread();thread.stop EMT4J 会扫描应用的中的包和类,比如 _emt4j-common/src/main/resources/default/rule/8to11/data/ 目录中 _class-package-file
目录 EMT4J使用说明 使用说明 规则修改 去掉以下规则 全部规则 8-11 规则: 11-17 规则:EMT4J使用说明 EMT4J 是一个 Java 版本迁移兼容性检测工具,主要用于识别代码或依赖库在 Java 8→11 EMT4J——Java版本迁移检测工具 如下使用EMT4J扫描Jar包后的报告分类目录使用说明 使用该工具检测之前,建议先把项目中的JDK版本、SpringBoot相关依赖及第三方依赖升级到对应的版本再使用该工具 以下拿 https://github.com/adoptium/emt4j/tree/v0.8.0 版本来改造,因为 master 分支还是个 SNAPSHOT 版本,不是很稳定1、使用插件的方式运行将以下配置添加到 /tree/v0.8.0规则修改规则文件在:emt4j\emt4j-common\src\main\resources\default\rule对应 xml 扫描规则配置:如果去掉某个规则,直接注释对应的规则
来源:InfoQ,作者 | Johan Janssen、译者 | 张卫滨、策划 | 丁晓昀 Adoptium 发布了 Eclipse Migration Toolkit for Java(EMT4J), EMT4J 将支持升级到未来的 LTS 版本。 很多组织都建议使用最新的 Java 运行时,以获取安全性和功能方面的改进。 EMT4J 提供了一个支持 Maven 插件(目前在 Maven 中央仓库尚不可用)、Java 代理以及命令行的解决方案,以便于分析项目与新版本 Java 的不兼容性,结果会以 ** TXT、JSON 为了演示 EMT4J,考虑如下的样例应用,它调用了 Java 11 中已经删除的 ** Thread.stop() **方法: Thread thread = new Thread();thread.stop EMT4J 会扫描应用的中的包和类,比如 _emt4j-common/src/main/resources/default/rule/8to11/data/ 目录中 _class-package-file
兼容性扫描与方案制定 兼容性深度扫描 通过前置步骤的梳理我们发现扫描的目标对象量大且依赖之间彼此交错,纯靠人工是无法完成的,因此我们引进了开源的 EMT4J 扫描工具。 依靠工具和人工验证相结合的方式,对以下关键对象实行全面扫描: 服务依赖库 通过 EMT4J 工具对公司各服务所用到的所有插件、二方包和三方包依赖进行兼容性扫描,共计扫描了 2800+ 个依赖包。 升级工具优化 EMT4J 报告优化 通过原始的 EMT4J 的规则配置,一个项目的扫描报告中往往会产出数百甚至上千条各类告警,涉及 API 变更、内部访问、过时用法等。 为此,我们对 EMT4J 进行了二次开发和定制优化,去除一些没有必要的检测规则。 spring-jms|spring-jdbc|spring-jcl|spring-expression|spring-aspects|spring-aop", "$version.ge('5.1')" 改造后,EMT4J
推荐阅读 我被微服务坑掉了CTO职位 Visual Studio Code 1.75发布 一个简化 Java 应用升级的开源项目:EMT4J ···························
推荐阅读 一个简化 Java 应用升级的开源项目:EMT4J 955.WLB 不加班公司名单,2023 年最新版! Redis 缓存的常见异常及解决方案,干货建议收藏!
推荐阅读 我被微服务坑掉了CTO职位 Visual Studio Code 1.75发布 一个简化 Java 应用升级的开源项目:EMT4J ···························
推荐阅读 一个简化 Java 应用升级的开源项目:EMT4J 955.WLB 不加班公司名单,2023 年最新版! Redis 缓存的常见异常及解决方案,干货建议收藏!
对于 Java 升级,这里也给大家推荐一个工具 - Eclipse Migration Tool for Java(EMT4J),由阿里开源,目前在 Eclipse 基金会 Adoptium 下孵化。