当前位置: 首页 > news >正文

基于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> 节点添加插件
<plugin><groupId>org.openrewrite.maven</groupId><artifactId>rewrite-maven-plugin</artifactId><version>5.34.1</version>
</plugin>
  • 这里的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

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

在这里插入图片描述

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

在这里插入图片描述




http://www.mrgr.cn/news/48190.html

相关文章:

  • 若依微服务如何获取用户登录信息
  • 深入理解 HTTP HEAD 请求:节省带宽、提高效率的秘密武器
  • 微服务详细教程之nacos和sentinel实战
  • VScode 查看linux 内核代码
  • Python图注意力神经网络GAT与蛋白质相互作用数据模型构建、可视化及熵直方图分析...
  • GhostRace: Exploiting and Mitigating Speculative Race Conditions-记录
  • 探索机器学习中的特征选择技术
  • 【华为】配置RIP协议
  • 【cpp】模板函数 模板类 特化 书写格式备忘
  • 鸿蒙OS开发全面指南:从入门到实战的系统化学习路径
  • 【Redis十二】Redis的典型应用(缓存和分布式锁)
  • 电子取证新视角:USB键盘流量提取密码方法研究与实现
  • 【编程进阶知识】掌握Java线程高效管理:节省资源与提升性能的十大技巧
  • c#代码介绍23种设计模式_23备忘录模式
  • Rstudio 绘制elecdaily的时序图与预测
  • Chrome清除nslookup解析记录 - 强制http访问 - 如何禁止chrome 强制跳转https
  • 【WebGIS】Cesium:快速创建三维地图
  • R语言:ERGM指数随机图模型
  • 学习记录:js算法(六十一):添加与搜索单词 - 数据结构设计
  • 02.07.-链表相交
  • 深入理解Transformer的笔记记录(精简版本)---- ELMO->GPT->BERT
  • VS Code最新版本Retome远程ssh不兼容旧服务器问题
  • 10.11 QT数据库实现学生信息的增、删、改、查
  • Android blueprint/microfactory/microfactory.bash源码分析
  • ajax请求
  • 基于SpringBoot+Vue+MySQL的留守儿童爱心网站