用途:指导 Java 项目在主要版本之间升级,按 LTS→LTS 路径迁移:Java 8→11→17→21→25,也覆盖 Spring Boot 2.x→3.x→4.x 迁移与遗留项目现代化。
主要能力:列出各版本破坏性变更(8→11 移除 javax.xml.bind、模块系统、内部 API;11→17 强封装;17→21 模式匹配变化、finalize() 弃用;21→25 移除 Security Manager、Unsafe 方法、放弃 32 位平台);给出移除 API 的替代依赖(jakarta.xml.bind-api、jaxb-runtime、jakarta.activation-api、jakarta.annotation-api、jakarta.transaction-api,sun.misc.Base64 改用 java.util.Base64);提供 Maven/Gradle 构建配置示例、--add-opens 参数、OpenRewrite 自动化迁移命令,以及 Spring Boot 3 的 javax.→jakarta. 包重命名与 Hibernate 5→6 变更。
使用方式:先评估现状(java -version、grep 查找 sun.* 与 javax.xml.bind 用法),再更新构建配置,迭代修复编译错误(mvn clean compile),运行测试(mvn test),检查运行时警告。自动化迁移示例:mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:LATEST -Drewrite.activeRecipes=org.openrewrite.java.migrate.UpgradeToJava25。
适用场景:升级 Java 版本、现代化遗留项目、采用 LTS 版本、Spring Boot 大版本迁移。
限制:资料未提供具体收费、价格与平台信息;部分特性标注为预览(如结构化并发、Stable Values、原始类型模式、模块导入声明),需 --enable-preview;版本兼容矩阵与支持时间线以资料所述为准。