在使用dubbo的过程中,很多刚开始搭建的同学都希望很直观的看到自己编写的服务提供者和消费者信息,从而使用dubbo提供的服务监控平台——dubbo-admin。但是事实上,提供的源码在编译过程和部署是经常会遇到一些小问题。比如上面提到的,部分报错信息如下所示:
Caused by: 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.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
根据github上网友大大们给出的答案,试过后确实有效。这其中主要是dubbo开源的时候,各组件版本都已经差距比较大。具体解决过程如下:
1、webx的依赖改为3.1.6版;
com.alibaba.citrus citrus-webx-all 3.1.6
2、添加velocity的依赖,我用了1.7;
org.apache.velocity velocity 1.7
3、对依赖项dubbo添加exclusion,避免引入旧spring
com.alibaba dubbo ${project.parent.version} org.springframework spring
然后,可以去打包了。在checkout出来的dubbo目录执行
mvn install -Dmaven.test.skip=true
来尝试编译一下。
然后执行mvn package -Dmaven.test.skip,把dubbo-admin打成war。如果遇到报错,需要逐步检查解决。
然后,启动zookeeper,把打好的war扔到Tomcat根目录,启动。
启动完成后,浏览器就可以访问了,要仔细核对打包的名称。正常会出现输入用户名和密码的弹框。
输入root/root即可进入管理界面。具体如图: