spotless

简介: spotless

享受你自己的生活乐趣,不要与别人比较。——康多赛特

分享一个maven插件spotless

https://github.com/diffplug/spotless

它可以让你的代码保持整洁

例如添加插件:

<plugin>
    <groupId>com.diffplug.spotless</groupId>
    <artifactId>spotless-maven-plugin</artifactId>
    <version>2.27.2</version>
    <configuration>
        <java>
            <includes>
                <include>src/main/java/**/*.java</include>
                <include>src/test/java/**/*.java</include>
            </includes>
            <googleJavaFormat>
                <version>1.7</version>
                <style>GOOGLE</style>
            </googleJavaFormat>
            <importOrder>
                <order>javax,java,\#</order>
            </importOrder>
            <replaceRegex>
                <name>Remove wildcard imports</name>
                <searchRegex>import\s+(static)*\s*[^\*\s]+\*;(\r\n|\r|\n)</searchRegex>
                <replacement>$1</replacement>
            </replaceRegex>
            <replaceRegex>
                <name>Block powermock</name>
                <searchRegex>import\s+org\.powermock\.[^\*\s]*(|\*);(\r\n|\r|\n)</searchRegex>
                <replacement>$1</replacement>
            </replaceRegex>
            <replaceRegex>
                <name>Block jUnit4 imports</name>
                <searchRegex>import\s+org\.junit\.[^jupiter][^\*\s]*(|\*);(\r\n|\r|\n)</searchRegex>
                <replacement>$1</replacement>
            </replaceRegex>
            <removeUnusedImports/>
        </java>
    </configuration>
    <executions>
        <execution>
            <id>spotless-check</id>
            <phase>validate</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>


然后即可使用:

user@machine repo % mvn spotless:check
[ERROR]  > The following files had format violations:
[ERROR]  src\main\java\com\diffplug\gradle\spotless\FormatExtension.java
[ERROR]    -\t\t····if·(targets.length·==·0)·{
[ERROR]    +\t\tif·(targets.length·==·0)·{
[ERROR]  Run 'mvn spotless:apply' to fix these violations.
user@machine repo % mvn spotless:apply
[INFO] BUILD SUCCESS
user@machine repo % mvn spotless:check
[INFO] BUILD SUCCESS
相关文章
|
存储 SQL 缓存
hudi概念讲解
hudi概念讲解
hudi概念讲解
|
11月前
|
关系型数据库 MySQL API
|
SQL 存储 NoSQL
MongoDB:21-MongoDB-自增Id
MongoDB:21-MongoDB-自增Id
608 0
MongoDB:21-MongoDB-自增Id
|
12月前
|
存储 缓存 分布式计算
Gluten + Celeborn: 让 Native Spark 拥抱 Cloud Native
本篇文章介绍了 Gluten 项目的背景和目标,以及它如何解决基于 Apache Spark 的数据负载场景中的 CPU 计算瓶颈。此外,还详细介绍了 Gluten 与 Celeborn 的集成。Celeborn 采用了 Push Shuffle 的设计,通过远端存储、数据重组、内存缓存、多副本等设计,不仅进一步提升 Gluten Shuffle 的性能和稳定性,还使得 Gluten 拥有更好的弹性,从而更好的拥抱云原生。
1889 4
Gluten + Celeborn: 让 Native Spark 拥抱 Cloud Native
|
12月前
|
消息中间件 关系型数据库 MySQL
如何使用Flink的MySQL连接器将数据
如何使用Flink的MySQL连接器将数据
153 2
|
7月前
IDEA中一个项目如何导入另一个依赖的项目?
IDEA中一个项目如何导入另一个依赖的项目?
146 0
时间戳2038问题是什么?如何解决这个问题?底层原理是什么?
时间戳2038问题是什么?如何解决这个问题?底层原理是什么?
1297 0
|
11月前
|
存储 缓存 安全
TimeZone-改变JVM默认时区是否影响log4j打印日志中的日期时间?
TimeZone-改变JVM默认时区是否影响log4j打印日志中的日期时间?
220 1
|
11月前
|
消息中间件 Kafka Apache
Apache Doris Routine Load快速体验之案例(2)2
Apache Doris Routine Load快速体验之案例(2)2
246 0
|
资源调度 分布式计算 Kubernetes
Flink最全的集群部署攻略(推荐yarn实现企业级部署)
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
4625 0
Flink最全的集群部署攻略(推荐yarn实现企业级部署)