本篇介绍一个基于Maven 运行OpenRewrite 的快速示例,展示了如何在Maven项目中使用OpenRewrite 进行代码重构。
本篇达成的效果是使用OpenRewrite 对源码自动格式化。
达成效果期望
项目中有一个类AutoFormatDemo ,类的代码如下
public class AutoFormatDemo {public static void main(String[]args){System.out.println("Hello, World!");}}
使用OpenRewrite 自动格式化上面的代码。
步骤
-
在Maven项目中已经添加OpenRewrite Maven插件, 具体是在pom.xml 的
<plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>5.34.1</version> </plugin><plugins>
节点添加插件
- 这里的version 可以配置使用最新的版本
命令行运行mvn rewrite:discover
可以查看所有可执行的配方列表, 执行的效果如下:
- 激活配方
在运行任何配方之前,需要更新插件配置以将所需配方标记为"active"。
OpenRewrite 官方提供了代码格式化的配方 org.openrewrite.java.format.AutoFormat
。关于该配方的详细介绍可以参考:
OpenRewrite配方之代码格式化------org.openrewrite.java.format.AutoFormat
要激活这个配方,可以在pom.xml 中将插件的配置修改为:
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>5.34.1</version>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.format.AutoFormat</recipe>
</activeRecipes>
</configuration>
</plugin>
-
运行配方
上面激活配方之后, 接下来就可以运行了。在命令行输入如下命令:mvn rewrite:run
执行过程中,控制台会输出如下信息:
查看原来的代码,会被格式化成如下: