diff --git a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-consumer/pom.xml b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-consumer/pom.xml
index 623b20b..7266d8e 100644
--- a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-consumer/pom.xml
+++ b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-consumer/pom.xml
@@ -16,6 +16,7 @@
         <java.version>17</java.version>
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.target>17</maven.compiler.target>
+        <curator5_version>5.1.0</curator5_version>
     </properties>
 
     <dependencies>
@@ -73,6 +74,38 @@
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.apache.curator</groupId>
+                    <artifactId>curator-x-discovery</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-x-discovery</artifactId>
+            <version>${curator5_version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
+            <version>${dubbo.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
@@ -164,6 +197,7 @@
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-compiler-plugin</artifactId>
+                        <version>3.10.1</version>
                         <configuration>
                             <release>17</release>
                             <fork>true</fork>
diff --git a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloRequest.java b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloRequest.java
index 736d201..437796a 100644
--- a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloRequest.java
+++ b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloRequest.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 public class HelloRequest implements Serializable {
-    private final String name;
+    private String name;
 
     public HelloRequest(String name) {
         this.name = name;
@@ -12,4 +12,8 @@
     public String getName() {
         return name;
     }
+
+    public void setName(String name) {
+        this.name = name;
+    }
 }
diff --git a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloResponse.java b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloResponse.java
index 9a7f4ba..17fb708 100644
--- a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloResponse.java
+++ b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-interface/src/main/java/org/apache/dubbo/nativeimage/HelloResponse.java
@@ -4,7 +4,7 @@
 import java.io.Serializable;
 
 public class HelloResponse implements Serializable {
-    private final String response;
+    private String response;
 
     public HelloResponse(String response) {
         this.response = response;
@@ -13,4 +13,8 @@
     public String getResponse() {
         return response;
     }
+
+    public void setResponse(String response) {
+        this.response = response;
+    }
 }
diff --git a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-provider/pom.xml b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-provider/pom.xml
index b41571d..e17103f 100644
--- a/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-provider/pom.xml
+++ b/1-basic/dubbo-samples-native-image/dubbo-samples-native-image-provider/pom.xml
@@ -16,6 +16,7 @@
         <java.version>17</java.version>
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.target>17</maven.compiler.target>
+        <curator5_version>5.1.0</curator5_version>
     </properties>
 
     <dependencies>
@@ -73,6 +74,38 @@
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.apache.curator</groupId>
+                    <artifactId>curator-x-discovery</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-x-discovery</artifactId>
+            <version>${curator5_version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
+            <version>${dubbo.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
