1. 程式人生 > >【Dubbo】windows下Dubbo安裝及相關配置

【Dubbo】windows下Dubbo安裝及相關配置

DUBBO的介紹部分我這裡就不介紹了,大家可參考官方文件。

DUBBO的註冊中心zookeeper的安裝在上一章節就有,大家可以參考我的安裝過程:http://blog.csdn.net/zsq520520/article/details/72824925   

Dubbo和zookeeper的安裝都是基於windows來操作的,也是屬於單擊的,我這裡沒有做叢集。

1、要在Windows下安裝Dubbo管控臺,首先本地的JDK和Tomcat環境要有,在系統環境中必須配置JAVA_HOME,即JDK的配置。(負責會報JAVA_HOME找不到的。)按道理JDK在Dubbo-admin中應該可以修改的,只是我還沒有找到在哪裡設定。於是我就現在環境變數中先添加了一個(我原本是沒有的),如下圖這樣:

2、在本地另外準備一份Tomcat吧。你也可以使用現有的,我個人喜歡重新搞個新的Tomcat來做這事兒。於是乎我在本地磁碟中新加了個tomcat,如下:

先放在這裡,接下里就要用到了。

3、想搭建Dubbo的管控臺,首先去下載Dubbo的原始碼下來,你也可以下載Dubbo-admin-2.5.3/2.5.4(喜歡什麼樣的版本就自己去下載)。

本人是下載原始碼的,原始碼下載地址是:https://github.com/alibaba/dubbo  在這裡下載即可。

包是:

下載好後將其進行解壓,找個目錄放起來吧。解壓後如下圖:

dubbo-admin下的一個dubbo.properties檔案配置了指向zookeeper的引數:

4、啟動cmd黑視窗  ,進入  原始碼檔案所在總目錄下,我們要進行編譯打包噢,

  執行命令

mvn install -Dmaven.test.skip=true

   命令執行成功結束後,會在  dubbo-admin 下會出現target資料夾,資料夾下會出現一個war包(如果未成功生成war包,可進入dubbo-admin目錄執行命令【mvn package -Dmaven.test.skip】把dubbo-admin打成war包)。

如下:

看到成功的提示就OK了。

5、打好包後會在Dubbo-admin檔案專案中生成一個target的目錄,在該目錄下找到打包到的【dubbo-admin-2.8.4.war】檔案,如下圖所示:

6、將該war包放置Tomcat下的webapps目錄下,Tomcat啟動時會自動解壓該war包的,如下:

啟動之前先啟動安裝好的zookeeper 伺服器端,再來啟動tomcat,否則會報錯的(錯誤就是zookeeper啟動超時)。啟動成功情況如下圖:

另外一個錯誤的就麻煩些了,錯誤是這樣:

ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'uriBrokerService': Cannot create inner bean '(inner bean)' of type [com.alibaba.citrus.service.uribroker.impl.URIBrokerServiceImpl$URIBrokerInfo] while setting bean property 'brokers' with key [0]; nested excepti
on is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#25': Cannot create inner bean 'server' of type [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker] while setting constructor argument; nested exception is org.springframework.beans.fact
ory.BeanCreationException: Error creating bean with name 'server': Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType'
is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)

我是遇到這樣的問題的,若你也遇到這樣的問題,可以這樣來解決:

首先找到Dubbo-admin下的pom.xml檔案

在pom.xml檔案中需要修改以下資訊:

1)、webx的依賴改為3.1.6版;

<dependency> 
    <groupId>com.alibaba.citrus</groupId> 
    <artifactId>citrus-webx-all</artifactId> 
    <version>3.1.6</version> 
</dependency>

2)、新增velocity的依賴,我用了1.7;

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>

3)、對依賴項dubbo新增exclusion,避免引入舊spring

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>${project.parent.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
        </exclusion>
    </exclusions>
</dependency>

4)、若webx已有spring 3以上的依賴,因此註釋掉dubbo-admin裡面的spring依賴。沒有的話就管理,我的是沒有找到下面這個Spring依賴的。

<!--<dependency>-->
      <!--<groupId>org.springframework</groupId>-->
      <!--<artifactId>spring</artifactId>-->
<!--</dependency>-->

修改後回到第4步進行打包操作,再次部署(第5步,第6步)。

8、以上問題都解決了或沒有問題了,啟動後也沒有報錯就可以訪問到Dubbo的管控臺了。管控臺啟動訪問http://localhost:8081/dubbo-admin-2.8.4  

效果如下圖:

對了,登入的使用者名稱和密碼都是root。這是預設的。OK吧先到這裡了,大功告成了! ---------------------  作者:張思全  來源:CSDN  原文:https://blog.csdn.net/zsq520520/article/details/72830375  版權宣告:本文為博主原創文章,轉載請附上博文連結!