【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 版權宣告:本文為博主原創文章,轉載請附上博文連結!