基于Maven 运行OpenRewrite的快速示例

本篇介绍一个基于Maven 运行OpenRewrite 的快速示例,展示了如何在Maven项目中使用OpenRewrite 进行代码重构。

本篇达成的效果是使用OpenRewrite 对源码自动格式化。

达成效果期望

项目中有一个类AutoFormatDemo ,类的代码如下

复制代码
public class AutoFormatDemo {public static void main(String[]args){System.out.println("Hello, World!");}}

使用OpenRewrite 自动格式化上面的代码。

步骤

  1. 在Maven项目中已经添加OpenRewrite Maven插件, 具体是在pom.xml 的<plugins> 节点添加插件

    org.openrewrite.maven rewrite-maven-plugin 5.34.1
  • 这里的version 可以配置使用最新的版本

命令行运行mvn rewrite:discover 可以查看所有可执行的配方列表, 执行的效果如下:

  1. 激活配方

在运行任何配方之前,需要更新插件配置以将所需配方标记为"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>
  1. 运行配方
    上面激活配方之后, 接下来就可以运行了。在命令行输入如下命令:

    mvn rewrite:run

执行过程中,控制台会输出如下信息:

查看原来的代码,会被格式化成如下:



相关推荐
我命由我123452 分钟前
Android 开发问题:获取到的 Android ID 发生了变化
android·java·开发语言·java-ee·android studio·android jetpack·android runtime
Solis程序员4 分钟前
Raft:分布式系统的定海神针
java·分布式·kafka·rabbitmq·agent·raft
我登哥MVP5 分钟前
SpringCloud Alibaba 核心组件解析:服务调用和负载均衡
java·spring boot·后端·spring·spring cloud·java-ee·负载均衡
云烟成雨TD6 分钟前
Agent Scope Java 2.x 系列【13】权限系统
java·人工智能·agent
恋猫de小郭10 分钟前
由于 iOS 26 的键盘变化,Flutter 又要重构键盘区域逻辑
android·前端·flutter
倔强的石头10611 分钟前
《Kingbase护城河》——深度解密数据库行锁冲突与等待事件架构
java·数据库·架构
我命由我1234517 分钟前
Android 开发问题:Unable to find explicit activity class
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
我命由我1234518 分钟前
Android 开发问题:全局的主题颜色设置,导致 CheckBox 控件在勾选状态下不显示样式
android·java·开发语言·java-ee·intellij-idea·intellij idea·android jetpack
CoderYanger21 分钟前
Java EE:5.网络原理-初识
java·网络·面试·职场和发展·java-ee·智能路由器·学习方法
我是一颗柠檬25 分钟前
【Java项目技术亮点】Leaf号段模式双Buffer优化
java·开发语言·分布式·后端·架构