今天写spark例子用到maven,但是自己maven又不熟悉。遇到错误找了半天知道是(sevlet-api2.5 3.0)包冲突需要解决包之间依赖问题却不知道怎么下手。但是最终慢慢了解还是找到新手的解决办法。

1 首先cmd到eclipse目录下执行mvn dependency:tree找出maven之间的依赖关系拷贝到word文档中进行分析

 

可以看到同一个包不同版本被依赖所以问题应该出在这里了。

2 解决过程 从图中看出2.5的包应该被依赖于这个包,于是到下面找到pom.xml文件

可以看version版本是runtime生成的,继续查找引用“${servlet-version}”

可以看到它是引用上层 上层lib下面的

于是我到外面目录去看也没找到lib,不熟悉maven不知道lib这层是怎么引用的。但是

 

看到这里确实有个2.5的旧包。

 不知道外层目录怎么修改定位,因为lib我不确定是指向哪里。于是我把目录下面的2.5包换成3.0并把格式换成和原来2.5一致servlet-api开头

到eclipse里面刷新下 run

成功了。(解决问题过程发现maven还是要好好学习下才行。。过多不懂)