diff --git a/pom.xml b/pom.xml
index 2367ab1..266dc9b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,6 +140,12 @@
${google-java-format.version}
+
+
+ no-blank-between-static-and-normal-imports
+ (?m)(^import static[^\n]*;\n(?:import static[^\n]*;\n)*)(?:\s*\n)(?=import )
+ $1
+
diff --git a/pulsar-admin-mcp-contrib/src/test/java/org/apache/pulsar/admin/mcp/transport/TransportManagerTest.java b/pulsar-admin-mcp-contrib/src/test/java/org/apache/pulsar/admin/mcp/transport/TransportManagerTest.java
index b45f1b0..0ed6fa9 100644
--- a/pulsar-admin-mcp-contrib/src/test/java/org/apache/pulsar/admin/mcp/transport/TransportManagerTest.java
+++ b/pulsar-admin-mcp-contrib/src/test/java/org/apache/pulsar/admin/mcp/transport/TransportManagerTest.java
@@ -20,7 +20,6 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
-
import org.apache.pulsar.admin.mcp.config.PulsarMCPCliOptions;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/PulsarRpcClientImpl.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/PulsarRpcClientImpl.java
index b0e9b30..4c100f9 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/PulsarRpcClientImpl.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/PulsarRpcClientImpl.java
@@ -15,7 +15,6 @@
import static lombok.AccessLevel.PACKAGE;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_DELIVER_AT_TIME;
-
import java.io.IOException;
import java.time.Duration;
import java.util.Map;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/ReplyListener.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/ReplyListener.java
index f348c26..db6a35a 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/ReplyListener.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/ReplyListener.java
@@ -16,7 +16,6 @@
import static org.apache.pulsar.rpc.contrib.common.Constants.ERROR_MESSAGE;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_DELIVER_AT_TIME;
import static org.apache.pulsar.rpc.contrib.common.Constants.SERVER_SUB;
-
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import lombok.AccessLevel;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/RequestSender.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/RequestSender.java
index 71de825..7ab9b3f 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/RequestSender.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/client/RequestSender.java
@@ -15,7 +15,6 @@
import static org.apache.pulsar.rpc.contrib.common.Constants.REPLY_TOPIC;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_TIMEOUT_MILLIS;
-
import java.util.concurrent.CompletableFuture;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/common/MessageDispatcherFactory.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/common/MessageDispatcherFactory.java
index 2cf3b97..8d1d74b 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/common/MessageDispatcherFactory.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/common/MessageDispatcherFactory.java
@@ -14,7 +14,6 @@
package org.apache.pulsar.rpc.contrib.common;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
-
import java.io.IOException;
import java.time.Duration;
import java.util.Map;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/PulsarRpcServerImpl.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/PulsarRpcServerImpl.java
index 9533096..79f2cea 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/PulsarRpcServerImpl.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/PulsarRpcServerImpl.java
@@ -14,7 +14,6 @@
package org.apache.pulsar.rpc.contrib.server;
import static lombok.AccessLevel.PACKAGE;
-
import java.io.IOException;
import java.util.concurrent.CompletableFuture;
import java.util.function.BiConsumer;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/ReplySender.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/ReplySender.java
index 90fe0a1..614c42c 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/ReplySender.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/ReplySender.java
@@ -16,7 +16,6 @@
import static org.apache.pulsar.rpc.contrib.common.Constants.ERROR_MESSAGE;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_DELIVER_AT_TIME;
import static org.apache.pulsar.rpc.contrib.common.Constants.SERVER_SUB;
-
import java.util.function.BiConsumer;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
diff --git a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/RequestListener.java b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/RequestListener.java
index 844b9d3..11c71ca 100644
--- a/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/RequestListener.java
+++ b/pulsar-rpc-contrib/src/main/java/org/apache/pulsar/rpc/contrib/server/RequestListener.java
@@ -16,7 +16,6 @@
import static org.apache.pulsar.rpc.contrib.common.Constants.REPLY_TOPIC;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_DELIVER_AT_TIME;
import static org.apache.pulsar.rpc.contrib.common.Constants.REQUEST_TIMEOUT_MILLIS;
-
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
diff --git a/pulsar-rpc-contrib/src/test/java/org/apache/pulsar/rpc/contrib/base/PulsarRpcBase.java b/pulsar-rpc-contrib/src/test/java/org/apache/pulsar/rpc/contrib/base/PulsarRpcBase.java
index 3e30be9..f2caeb8 100644
--- a/pulsar-rpc-contrib/src/test/java/org/apache/pulsar/rpc/contrib/base/PulsarRpcBase.java
+++ b/pulsar-rpc-contrib/src/test/java/org/apache/pulsar/rpc/contrib/base/PulsarRpcBase.java
@@ -14,7 +14,6 @@
package org.apache.pulsar.rpc.contrib.base;
import static java.util.UUID.randomUUID;
-
import java.time.Duration;
import java.util.function.Supplier;
import java.util.regex.Pattern;
diff --git a/pulsar-transaction-contrib/src/test/java/org/apache/pulsar/txn/TransactionImplTest.java b/pulsar-transaction-contrib/src/test/java/org/apache/pulsar/txn/TransactionImplTest.java
index 6871f38..a7b4709 100644
--- a/pulsar-transaction-contrib/src/test/java/org/apache/pulsar/txn/TransactionImplTest.java
+++ b/pulsar-transaction-contrib/src/test/java/org/apache/pulsar/txn/TransactionImplTest.java
@@ -22,7 +22,6 @@
import static org.mockito.Mockito.when;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
-
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
diff --git a/src/main/resources/checkstyle.xml b/src/main/resources/checkstyle.xml
index 1baa7fe..c56dfb2 100644
--- a/src/main/resources/checkstyle.xml
+++ b/src/main/resources/checkstyle.xml
@@ -122,7 +122,6 @@ page at http://checkstyle.sourceforge.net/config.html -->
-