maven方便了对项目jar包的引入和管理,但是同时也带来了一些问题:有时候程序编译报错,找不到依赖的包或者类,相信大家在实际开发中遇到过类似的问题。
纽扣学院总结了上述问题的出现和解决方法,共分为三个类型:
-
没有引入jar包
-
引入jar包冲突
-
jar包不完整
下面针对这三种问题,有一个统一的解决方法,步骤如下:
第一步:确定问题类所属的Jar包
这种问题常见在我们导入已存在的工程时候,编译时候import那行的红线,如下:

第一步:找到这个类属于哪个jar包,有两个网址:
-
http://mvnrepository.com/
-
http://search.maven.org
我们在http://search.maven.org下搜索完整的包名+类名,但是找不到,网站提示加上fc:前缀,再次搜索,结果如下:

通过上面的搜索发现这个类属于spring-webmvc包,下面我们开始第二步,看看是否有引入这个包。
第二步:以eclipse为例,查找问题原因
打开pom.xml的“Dependency Hierarchy”视图,然后在“filter”框中输入,"webmvc", 通过搜索结果 来判断问题。
第一种情况,没有引入jar包
这个是最为简单的,如果filter之后左侧没有相关jar包,说明该jar包没有被引入:

解决方法:引入jar把,把对jar包的依赖写入到pom.xml中
第二种情况:是否jar包冲突
jar包冲突多数不会表现在编译期间,而是表现在项目启动或者运行期,某个类死活报错,你被它折磨的欲仙欲死,那这时候就要考虑是否相关的jar出现了多个,出现多个很多情况下是关联依赖导致的.
解决方案需要在Pom.xml排除不需要的jar包。
第三种情况:引入的jar包不完整
这种情况很奇怪,可以找到所在的jar,也没有冲突,可是编译器就是报错,那这种情况可能就是jar包本身有问题。
解决方案:在maven本地仓库中找到jar包,删除,然后在eclipse中 "force update denpendency",更新依赖。