diff --git a/pom.xml b/pom.xml
index 7169ce4..e5a9933 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
 		<slf4j.version>1.7.26</slf4j.version>
 		<log4j.version>1.2.17</log4j.version>
 		<curator.version>2.12.0</curator.version>
-		<dubbo.version>2.7.1</dubbo.version>
+		<dubbo.version>2.7.3</dubbo.version>
 	</properties>
 
 	<dependencyManagement>
diff --git a/src/main/java/org/apache/dubbo/proxy/Config.java b/src/main/java/org/apache/dubbo/proxy/Config.java
index b25c949..46bd136 100644
--- a/src/main/java/org/apache/dubbo/proxy/Config.java
+++ b/src/main/java/org/apache/dubbo/proxy/Config.java
@@ -50,7 +50,7 @@
     Registry getRegistry() {
         URL url = URL.valueOf(registryAddress);
         if (StringUtils.isNotEmpty(group)) {
-            url = url.addParameter(org.apache.dubbo.common.Constants.GROUP_KEY, group);
+            url = url.addParameter(org.apache.dubbo.common.constants.CommonConstants.GROUP_KEY, group);
         }
         RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
         Registry registry = registryFactory.getRegistry(url);
