开发过程中dubbo服务之间的jar包依赖解决办法

最近换了一份工作,所以有一段时间没有更新博客了。

新公司从入职第一天到现在马上两周了,还没有晚上九点半之前下过班。。。(三四线IT城市。。。)

不过新公司是做互联网产品的,能学到更多东西,大牛更多,基本上十点起码还有一半的人在自觉的敲着代码。。(对了,貌似今天刚宣布B轮融资2亿,感觉前景还是不错的。。)

 

言归正传,目前这家公司的分布式框架跟我上上家公司一样是用的dubbo(貌似后期会往spring-cloud转)

dubbo,阿里开源的分布式框架,底层还是RPC,采用netty通信,被广泛应用互联网公司。

dubbo把功能做了垂直拆分,把一个大工程细化了,比如有专门的用户服务、交易服务、信审服务等。

都是通过maven进行管理,服务与服务之间就存在着jar包依赖。

 

比如,你在serviceA上新增了一个方法,这是你要调用serviceA的serviceB在maven的本地仓库中是没有这个方法的,所以serviceB会编译报错。

这时有两种解决办法:

1. 将serviceA打包(idea有专门的maven界面,可以有clean、package、install点击就行),或者直接进入serviceA的pom.xml目录下,

   然后输入命令:mvn clean install -DskipTests

   这样,你的本地仓库中就有了新的serviceA的jar包。在你的功能未测试完全之前,千万别deploy,这个命令是上传到远端maven仓库,你公司的人共有的。

 

2.直接在serviceB的pom.xml文件中,找到引用serviceA的位置,然后输入下面两行:

<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>xxx-xxx-xxx</artifactId>
<version>0.1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>/Users/xxx/SourceCode/xxx-xxx/xxx-xxx-xxx/target/xxx-xxx-xxx-0.1.0-SNAPSHOT.jar</systemPath>
</dependency>

  采用绝对路径的方式解决。

posted @ 2018-07-19 22:19  惊艳了时光  阅读(7138)  评论(6编辑  收藏  举报