Repolode
openrewrite

openrewrite/rewrite

开源自动化重构引擎,通过可复用的重构配方批量修改代码,适用于框架迁移与安全修复。

Star
3,955
Fork
601
未关闭 Issue
307
最近提交
18小时前

这是什么?

OpenRewrite 是一套自动化重构生态,通过预置的重构配方处理代码中的框架迁移、安全修复和风格统一等工作。它基于一种称为无损语义树(LST)的类型感知代码模型,在保留原有格式的同时进行精确修改。

项目提供 Java、Kotlin、Groovy、JavaScript/TypeScript、Python 和 C# 的解析器与基础配方。对于 Java 项目,可以通过 Gradle 和 Maven 插件在单个仓库中运行指定配方。配方支持自定义,也可以从零编写。

该项目由 Moderne 维护,其商业平台支持跨多个仓库批量运行同一批配方,并提供多仓库命令行工具及面向编码代理的工具。

核心功能

  • 01提供预置配方,用于框架迁移与安全修复等重构任务。
  • 02将代码解析为保留格式的类型感知无损语义树。
  • 03支持 Java、Kotlin、Groovy、JavaScript/TypeScript、Python 和 C#。
  • 04提供 Gradle 与 Maven 插件,可在 Java 项目中运行配方。
  • 05配方可自定义,也可编写新配方。

适用场景

  • 借助自动化修改,将 Java 项目升级到新版本框架。
  • 在一个仓库中统一应用相同的安全修复或代码风格调整。
  • 无需逐个文件手动修改,批量清理技术债务。

快速上手

  1. 1

    阅读官方快速入门指南

  2. 2

    将 OpenRewrite Gradle 或 Maven 插件添加到 Java 项目中并运行一个配方

使用前须知

  • 部分配方以及额外语言的解析器需要 Moderne 商业许可证,或受 Moderne 源码可用许可证约束。
  • Gradle 和 Maven 插件每次只能针对单个代码仓库运行一个配方。

标签

#refactoring#code-transformation#java#migration#ast#code-search#static-analysis#abstract-syntax-tree#refactoring-tools

常见问题

rewrite 是什么?
开源自动化重构引擎,通过可复用的重构配方批量修改代码,适用于框架迁移与安全修复。 OpenRewrite 是一套自动化重构生态,通过预置的重构配方处理代码中的框架迁移、安全修复和风格统一等工作。它基于一种称为无损语义树(LST)的类型感知代码模型,在保留原有格式的同时进行精确修改。
rewrite 可以免费使用吗?用的什么许可证?
rewrite 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
rewrite 还在维护吗?
活跃维护中。rewrite 最近一次提交是在 2026年11月6日。
rewrite 适合用来做什么?
借助自动化修改,将 Java 项目升级到新版本框架。 在一个仓库中统一应用相同的安全修复或代码风格调整。 无需逐个文件手动修改,批量清理技术债务。
rewrite 怎么安装和运行?
阅读官方快速入门指南 将 OpenRewrite Gradle 或 Maven 插件添加到 Java 项目中并运行一个配方
在哪里获取 rewrite?
源代码和安装说明在 GitHub 上:https://github.com/openrewrite/rewrite

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目