Dubbo接口抽取及依賴版本統一-03

*前言:上兩篇文章中,我們發現在兩個項目dubbo-demo-providerdubbo-demo-consumer中,接口DemoProviderService代碼重複,pom.xml依賴代碼重複,下面我們嘗試將其統一。

①我們首先新建一個簡單maven項目dubbo-demo-api,將接口DemoProviderService複製到該項目中,再將之前兩個項目中的接口刪除,此時,之前兩個項目會報錯。
②我們在項目dubbo-demo-providerdubbo-demo-consumer中添入依賴,刷新後,報錯信息應該會消失,此時完成了接口抽取的工作:

<dependency>
    <groupId>com.java</groupId>
    <artifactId>dubbo-demo-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

③我們再新建一個maven項目dubbo-demo-parent,注意packaging選項選擇pom屬性,該項目只做依賴版本的統一,沒有實際功能
這裏寫圖片描述
pom.xml中配置版本屬性:

<properties>
    <dubbo-demo-api.version>0.0.1-SNAPSHOT</dubbo-demo-api.version>
    <dubbo.version>2.6.0</dubbo.version>
    <zkclient.version>0.10</zkclient.version>
    <curator-framework.version>4.0.1</curator-framework.version>
    <fastjson.version>1.2.46</fastjson.version>
    <log4j.version>1.2.17</log4j.version>
    <slf4j-api.version>1.7.25</slf4j-api.version>
    <commons-lang3.version>3.4</commons-lang3.version>
    <netty-all.version>4.0.35.Final</netty-all.version>
</properties>

再添入依賴:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.java</groupId>
            <artifactId>dubbo-demo-api</artifactId>
            <version>${dubbo-demo-api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>${dubbo.version}</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>${zkclient.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>${curator-framework.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j-api.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${netty-all.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

④在項目dubbo-demo-providerdubbo-demo-consumer中添入父依賴後,所有依賴的版本信息應該會有黃色信息提示,將所有的版本信息全部刪除,即可完成依賴版本的統一

<parent>
    <groupId>com.java</groupId>
    <artifactId>dubbo-demo-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

*最後,我們測試接口發佈和消費是否正常,依次啓動Zookeeper服務ZkServer.batTomcat服務Startup.bat,項目dubbo-demo-providerProviderTestdubbo-demo-consumerConsumerTest,訪問http://localhost:8080/,查看dubbo服務接口狀態是否爲正常,出現下圖即爲成功。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章