[23/07/19 05:30:24:024 CST] main ERROR integration.MetadataReportService:  [DUBBO] publishProvider getServiceDescriptor error. providerUrl: dubbo://30.5.121.125:20880/org.apache.dubbo.samples.generic.call.api.HelloService?anyhost=true&application=generic-impl-provider&deprecated=false&dubbo=2.0.2&dynamic=true&generic=true&interface=org.apache.dubbo.samples.generic.call.api.HelloService&methods=*&register=true&release=2.7.3&side=provider, dubbo version: 2.7.3, current host: 30.5.121.125
java.lang.ClassNotFoundException: org.apache.dubbo.samples.generic.call.api.HelloService
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at org.apache.dubbo.metadata.integration.MetadataReportService.publishProvider(MetadataReportService.java:97)
	at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:623)
	at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:457)
	at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:415)
	at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:378)
	at org.apache.dubbo.samples.generic.call.GenericImplProvider.main(GenericImplProvider.java:48)

Reproduce by running dubbo-samples-generic-impl
MetadataReportService metadataReportService2 = MetadataReportService.instance(new Supplier<URL>() {
            @Override
            public URL get() {
                return url;
            }
        });
        Assertions.assertSame(metadataReportService1, metadataReportService2);
        Assertions.assertEquals(metadataReportService1.metadataReportUrl, url);
    }
    @Test
    public void testPublishProviderNoInterfaceName() {
        URL publishUrl = URL.valueOf("dubbo://" + NetUtils.getLocalAddress().getHostName() + ":4444/org.apache.dubbo.TestService?version=1.0.0&application=vicpubprovder&side=provider");
        metadataReportService1.publishProvider(publishUrl);
        Assertions.assertTrue(metadataReportService1.metadataReport instanceof JTestMetadataReport4Test);
        JTestMetadataReport4Test jTestMetadataReport4Test = (JTestMetadataReport4Test) metadataReportService1.metadataReport;
        Assertions.assertTrue(!jTestMetadataReport4Test.store.containsKey(JTestMetadataReport4Test.getProviderKey(publishUrl)));
    }
    @Test
    public void testPublishProviderWrongInterface() {
        URL publishUrl = URL.valueOf("dubbo://" + NetUtils.getLocalAddress().getHostName() + ":4444/org.apache.dubbo.TestService?version=1.0.0&application=vicpu&interface=ccc&side=provider");
        metadataReportService1.publishProvider(publishUrl);
        Assertions.assertTrue(metadataReportService1.metadataReport instanceof JTestMetadataReport4Test);
        JTestMetadataReport4Test jTestMetadataReport4Test = (JTestMetadataReport4Test) metadataReportService1.metadataReport;
        Assertions.assertTrue(!jTestMetadataReport4Test.store.containsKey(JTestMetadataReport4Test.getProviderKey(publishUrl)));
    }
    @Test
    public void testPublishProviderContainInterface() throws InterruptedException {
        URL publishUrl = URL.valueOf("dubbo://" + NetUtils.getLocalAddress().getHostName() + ":4444/org.apache.dubbo.TestService?version=1.0.3&application=vicpubp&interface=org.apache.dubbo.metadata.integration.InterfaceNameTestService&side=provider");
        metadataReportService1.publishProvider(publishUrl);
        Thread.sleep(300);