在pom.xml中引入一个依赖,maven会自动导入这个依赖的依赖,方便的同时也会造成jar包冲突: (1)A、B都依赖C,我们导入A(自动导入C)、B(自动导入C),maven自动导入了2个C,到底使用哪个C?这2个C冲突了,maven不知道该用哪个。 (2)A依赖C,我们导入A(自动导入C),我们不知道已经有了C,自己又手动导了一个C。 我们直接导入的依赖叫做直接依赖,比如A;maven自动导入的直接依赖的依赖,叫做间接依赖,比如C。
解决费方式:
还可能是因为jar包的作用域: (3)比如要使用HttpServletRequest,需要导入servlet-api.jar、jsp-api.jar,这样写代码时才有相应的代码提示,IDEA才不会提示红色。 但测试、运行时要部署到tomcat上,tomcat自带了servlet-api.jar、jsp-api.jar,冲突了,tomcat不知道要用哪个。
解决方式:
可查看项目的依赖关系图:
|
|