有时候在项目中引用别的项目的dubbo接口时,如果没处理,会把别的项目的所有依赖jar包都引用进来,这样很容易导致版本冲突,并且非常难定位问题。最好的解决办法,就是接口提供方在打jar包的时候就去除掉多余的依赖。方法有以下两种:
**一、**比较复杂,但是我常用的方法:
①mvn clean命令清除已经编译好的信息;
②执行maven的compile方法,重新编译对应的SNAPSHOT或者RELEASE版本;
③注释掉pom文件中除了dubbo依赖之外的所有依赖,然后执行mvn package -Dmaven.test.skip=true
④执行mvn -Dmaven.test.skip=true deploy,将jar推到私仓。
**二、**比较高端的简洁的写法:
除了dubbo依赖之外,每个依赖下边都加上
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
<optional>true</optional>
</dependency>
true
两种方法都可以~~