一,包冲突
包升级以后,出现很多莫名其妙的问题,很多时候都是因为包的冲突导致的。
比如新的版本依赖了另一个包,而这个包却因为原来的工程里有一个低版本的包,mvn主动加载了之前那个低版本的包,导致了现有功能起不来
排查方法是通过命令mvn dependency:tree -Dverbose,去看哪个包被冲突而且omitted了,把那个导致冲突的包exclude掉,在用mvn dependency:tree去检查是不是成功的加载了正确的包。
如上图
omitted for conflict with 2.1,是因为在denpendency中显式声明了包2.1,所以这个低版本的包被干掉了
omitted for duplicate是因为有一个相同版本的包,导致这个包被omitted
关于dependency tree里面的符号:+-代表这个包依赖的包,\-代表同级依赖的包的最后一个包,方便查看层级关系
依赖某个包以及去除这个包中某个依赖包的语法
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
</dependency>
本次原因是升级了包,thrift起不来了,检查thrift端口是否起来,要用telnet ip 端口的方式,即使在本地起,telnet localhost或者127.0.0.1都是不行的,因为再纠察
未完待续。。。