diff --git a/.licenserc.yaml b/.licenserc.yaml
index 0e8b7409d8..2199c97a86 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -96,9 +96,9 @@ header:
- 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/MatchingGroupIdFilter.java'
- 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunArguments.java'
- 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunProcess.java'
- - 'dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java'
- - 'dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java'
- - 'dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java'
+ - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java'
+ - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java'
+ - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java'
- 'dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/DubboMergingDigest.java'
- 'dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/DubboAbstractTDigest.java'
- 'dubbo-annotation-processor/src/main/java/org/apache/dubbo/annotation/permit/**'
diff --git a/dubbo-native/pom.xml b/dubbo-plugin/dubbo-native/pom.xml
similarity index 97%
rename from dubbo-native/pom.xml
rename to dubbo-plugin/dubbo-native/pom.xml
index 449148f20a..22baa2d4e6 100644
--- a/dubbo-native/pom.xml
+++ b/dubbo-plugin/dubbo-native/pom.xml
@@ -19,7 +19,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
org.apache.dubbo
- dubbo-parent
+ dubbo-plugin
${revision}
../pom.xml
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ConditionalDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ConditionalDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ConditionalDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ConditionalDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/FieldDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/FieldDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/FieldDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/FieldDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/JdkProxyDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/JdkProxyDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/JdkProxyDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/JdkProxyDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ProxyDescriberRegistrar.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ProxyDescriberRegistrar.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ProxyDescriberRegistrar.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ProxyDescriberRegistrar.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ReflectionTypeDescriberRegistrar.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ReflectionTypeDescriberRegistrar.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ReflectionTypeDescriberRegistrar.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ReflectionTypeDescriberRegistrar.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceBundleDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceBundleDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceBundleDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceBundleDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceDescriberRegistrar.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceDescriberRegistrar.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceDescriberRegistrar.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourceDescriberRegistrar.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourcePatternDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourcePatternDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourcePatternDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ResourcePatternDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/api/TypeDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/TypeDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/api/TypeDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/TypeDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/AotProcessor.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/AotProcessor.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/AotProcessor.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/AotProcessor.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ClassSourceScanner.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ClassSourceScanner.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ClassSourceScanner.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ClassSourceScanner.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableDescriber.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableDescriber.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableDescriber.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableDescriber.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/JarScanner.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/JarScanner.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/JarScanner.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/JarScanner.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeClassSourceWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeClassSourceWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeClassSourceWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeClassSourceWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeConfigurationWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeConfigurationWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeConfigurationWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeConfigurationWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigMetadataRepository.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigMetadataRepository.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigMetadataRepository.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigMetadataRepository.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ProxyConfigWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectConfigMetadataRepository.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectConfigMetadataRepository.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectConfigMetadataRepository.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectConfigMetadataRepository.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectionConfigWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectionConfigWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectionConfigWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectionConfigWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigMetadataRepository.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigMetadataRepository.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigMetadataRepository.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigMetadataRepository.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigWriter.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigWriter.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigWriter.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigWriter.java
diff --git a/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceScanner.java b/dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceScanner.java
similarity index 100%
rename from dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceScanner.java
rename to dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceScanner.java
diff --git a/dubbo-native/src/main/resources/Dockerfile b/dubbo-plugin/dubbo-native/src/main/resources/Dockerfile
similarity index 100%
rename from dubbo-native/src/main/resources/Dockerfile
rename to dubbo-plugin/dubbo-native/src/main/resources/Dockerfile
diff --git a/dubbo-native/src/test/java/org/apache/dubbo/aot/generate/ResourcePatternDescriberTest.java b/dubbo-plugin/dubbo-native/src/test/java/org/apache/dubbo/aot/generate/ResourcePatternDescriberTest.java
similarity index 100%
rename from dubbo-native/src/test/java/org/apache/dubbo/aot/generate/ResourcePatternDescriberTest.java
rename to dubbo-plugin/dubbo-native/src/test/java/org/apache/dubbo/aot/generate/ResourcePatternDescriberTest.java
diff --git a/pom.xml b/pom.xml
index f3c916e572..3d65a78e03 100644
--- a/pom.xml
+++ b/pom.xml
@@ -163,7 +163,6 @@
dubbo-metadata
dubbo-metrics
dubbo-spring-boot
- dubbo-native
dubbo-test
dubbo-kubernetes
dubbo-xds