dubbo项目搭建、报错问题汇总

首先搭建过程就不用多说了,网上很多,整体搭建参照此篇文章,写的很全,不过博主可能没有碰到问题,然后把搭建过程中出现的问题记录一下,说明一下,解决问题的办法多种多样,一下解决方法并不唯一,同时因为dubbo2.6.1之后的打包方式不一样,并且源码也把dubbo-admin拆分了出去,所以我采用的是dubbo2.5.10版本!

参考此篇博文

https://blog.csdn.net/qq_22152261/article/details/80300597。

问题一:就是在CMD里面执行mvn clean package,报错Received fatal alert: protocol_version。此类问题是jdk版本导致的!因为maven中心在18年的时候,不支持TSL1.1了,而JDK1.7默认是是TSL1.1的,JDK1.8默认是TSL1.2的。

解决办法:

1. 换成JDK1.8的

2.那有的小伙伴就问了,我是否可以把JDK1.7变成TSL1.2的呢,我尝试网上说的的命令行改变,尝试了一下,不行。

3.不去maven中心下载,就可以不采用https的方式,这种方式也试了,不行!尝试过程,我的maven采用的是私服(请看我写的另外一篇博文,nexus搭建私服),我尝试的改变私服的central的地址,就是这个地方

dubbo项目搭建、报错问题汇总_第1张图片

发现不管怎么修改,在cmd命令行下,根本不走私服(在IDE比如myeclipse里面是没问题的,jar包现在先走本地,然后走私服),甚至我在maven里面的setting.xml改成镜像直接走阿里云,什么私服全部砍掉。在cmd里面执行mvn clean package,照样走 https://repo.maven.apache.org/maven2. 这咋回事呢,不管怎么修改maven的配置文件,mvn命令一直执行的是父类的pom.xml。这个父类的pom.xml在maven的lib包下,叫做这个jar包,maven-model-builder-3.6.1.jar. 解压打开之后,就是这样

dubbo项目搭建、报错问题汇总_第2张图片

最后放弃了,直接改成JDK1.8的了,如果哪位能够知道原因,告诉我的话,我会非常感激的。

问题二 dubbo_admin的war包放在tomcat下无法启动,报错如下

dubbo项目搭建、报错问题汇总_第3张图片

解决办法:升级tomcat8,原因是springboot2只能用tomcat8及以上版本

问题三:tomcat8能够正常启动,项目显示也是running,但是就是无法访问显示404,所以怀疑是打包的war包错处了。

dubbo项目搭建、报错问题汇总_第4张图片

怀疑是war包在打的过程中出错了,因为war包里面的web-inf里面都没有web.xml文件,打包的war包里面的结构是这样的

dubbo项目搭建、报错问题汇总_第5张图片

dubbo项目搭建、报错问题汇总_第6张图片

解决办法:把源码导入myeclipse或者IDEA里面进行打包,或者通过命令行进行maven clean package也可以。https://github.com/apache/dubbo/releases/tag/dubbo-2.5.10(附一下源码在githug的下载地址)

dubbo项目搭建、报错问题汇总_第7张图片

两种方法都可以实现重新打包。

采用myeclipse方式1:myeclipse打包的时候要记着myeclipse10.x的版本不行,因为compiler无法选择jdk1.8,要选择myeclipse2015. myeclipse2015里面才有1.8的编译环境

dubbo项目搭建、报错问题汇总_第8张图片

采用IDEA方式2:这个没有问题,导入之后顺利打包

dubbo项目搭建、报错问题汇总_第9张图片

我是在网站上重新下载的2.5.10版本的,特别说明一下2.6.1以上的版本不是war包了,是jar包。

通过cmd命令行打包3:下载完毕之后重新通过mvn clean package打包,这回看起来应该是对了,文件结构是

dubbo项目搭建、报错问题汇总_第10张图片

问题四,放在tomcat里面执行无法登陆

dubbo项目搭建、报错问题汇总_第11张图片

解决办法:最开始以为是tomcat的用户名以及密码,但是试了几次,在tomcat的user.xml里面也加入了权限,发现不行。最后确认应该是dubbo-admin的用户名跟密码,找到dubbo.property里面

dubbo项目搭建、报错问题汇总_第12张图片

输入root以及guest吧,很尴尬,居然不好用!然后跟代码发现,希望大家不要犯这个错哈,用户名是root,密码也是root,不是guest!

问题5:在myeclipse里面无法打包,具体是生产者跟消费者两个代码无法打包。报错

dubbo项目搭建、报错问题汇总_第13张图片

myeclipse10.x的版本不行,需要换成更高版本,或者采用IDEA,或者用命令行,这两个我采用的还是命令行的方式,直接用mvn clean package,记着要进入到对应的文件夹下面打包成功!

然后分别在cmd的命令行启动命令ubbo-provider-0.0.1-SNAPSHOT.jar以及dubbo-consumer-0.0.1-SNAPSHOT.jar。用consumer举例,入下图

dubbo项目搭建、报错问题汇总_第14张图片

启动成功

dubbo项目搭建、报错问题汇总_第15张图片

然后查看成果,登陆dubbo-admin,查看服务的提供者以及消费者

dubbo项目搭建、报错问题汇总_第16张图片

dubbo项目搭建、报错问题汇总_第17张图片

总结:从生产者跟消费者的代码可以看出来,需要注册服务,对外提供服务接口!但是一定不要过于微服务化,否则维护成本会非常高。个人建议:最好能够按照大模块进行分类,比如系统管理、订单管理、资金管理之类的。再有,碰到问题的话,解决问题的思路会很多,但是不一定每一种都是对的,可以采用最有把握的一种一种的尝试,或者跟其他人沟通一下,有的时候先找到解决办法,再去寻找答案也不失为一种方法。。

你可能感兴趣的:(技术,dubbo,dubbo环境搭建,dubbo碰到的问题)