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的地址,就是这个地方

发现不管怎么修改,在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. 解压打开之后,就是这样

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

启动成功

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值