diff --git a/.licenserc.yaml b/.licenserc.yaml
index 4a1d226ff1..3ff5611772 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -105,7 +105,7 @@ header:
- 'dubbo-common/src/main/java/org/apache/dubbo/common/logger/helpers/FormattingTuple.java'
- 'dubbo-common/src/main/java/org/apache/dubbo/common/logger/helpers/MessageFormatter.java'
- 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/protoc/DubboProtocCompilerMojo.java'
- - 'dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java'
+ - 'dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java'
comment: on-failure
diff --git a/NOTICE b/NOTICE
index 6b0e80946f..287c86b39f 100644
--- a/NOTICE
+++ b/NOTICE
@@ -25,7 +25,7 @@ Maven Protocol Buffers Plugin
Copyright (c) 2016 Maven Protocol Buffers Plugin Authors. All rights reserved.
This product contains the following code copied from grpc-java-contrib:
-dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java
+dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java
Some portions of this file Copyright (c) 2019, Salesforce.com, Inc. and licensed under the BSD 3-Clause License
grpc-java-contrib
diff --git a/dubbo-compiler/README.md b/dubbo-plugin/dubbo-compiler/README.md
similarity index 100%
rename from dubbo-compiler/README.md
rename to dubbo-plugin/dubbo-compiler/README.md
diff --git a/dubbo-compiler/pom.xml b/dubbo-plugin/dubbo-compiler/pom.xml
similarity index 98%
rename from dubbo-compiler/pom.xml
rename to dubbo-plugin/dubbo-compiler/pom.xml
index 2d445e4a1e..4fa6f61be8 100644
--- a/dubbo-compiler/pom.xml
+++ b/dubbo-plugin/dubbo-compiler/pom.xml
@@ -21,7 +21,7 @@
org.apache.dubbo
- dubbo-parent
+ dubbo-plugin
${revision}
../pom.xml
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/AbstractGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/AbstractGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/AbstractGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/AbstractGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/DubboGeneratorPlugin.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/DubboGeneratorPlugin.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/DubboGeneratorPlugin.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/DubboGeneratorPlugin.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/Dubbo3Generator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/Dubbo3Generator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/Dubbo3Generator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/Dubbo3Generator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/Dubbo3TripleGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/Dubbo3TripleGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/Dubbo3TripleGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/Dubbo3TripleGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/reactive/ReactorDubbo3TripleGenerator.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/reactive/ReactorDubbo3TripleGenerator.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/reactive/ReactorDubbo3TripleGenerator.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/tri/reactive/ReactorDubbo3TripleGenerator.java
diff --git a/dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java
similarity index 100%
rename from dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java
rename to dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/utils/ProtoTypeMap.java
diff --git a/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache
diff --git a/dubbo-compiler/src/main/resources/Dubbo3Stub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3Stub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/Dubbo3Stub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3Stub.mustache
diff --git a/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache
diff --git a/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache
diff --git a/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
diff --git a/dubbo-compiler/src/main/resources/DubboStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/DubboStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub.mustache
diff --git a/dubbo-compiler/src/main/resources/DubboStub3Single.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub3Single.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/DubboStub3Single.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub3Single.mustache
diff --git a/dubbo-compiler/src/main/resources/ReactorDubbo3TripleInterfaceStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubbo3TripleInterfaceStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/ReactorDubbo3TripleInterfaceStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubbo3TripleInterfaceStub.mustache
diff --git a/dubbo-compiler/src/main/resources/ReactorDubbo3TripleStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubbo3TripleStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/ReactorDubbo3TripleStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubbo3TripleStub.mustache
diff --git a/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
diff --git a/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
similarity index 100%
rename from dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
rename to dubbo-plugin/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
diff --git a/pom.xml b/pom.xml
index 846ad34ec6..56bf7e3271 100644
--- a/pom.xml
+++ b/pom.xml
@@ -144,7 +144,6 @@
dubbo-annotation-processor
dubbo-common
dubbo-container
- dubbo-compiler
dubbo-remoting
dubbo-rpc
dubbo-cluster