一、IDEA 中查看maven项目中所有jar包的依赖关系图
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图_如何查看jar包依赖-CSDN博客
ctrl+f 搜索
依赖包冲突:
红色实线表示冲突,冲突的jar包右击-exclud,则会自动在pom中给exclud排除掉
二、maven打包war包
maven整合ssm打包war包部署到tomcat
先clean,然后install
最终打包生成的war包:
xxx\target\ROOT.war
三、maven仓库
本地仓库 和远程仓库(中央仓库、私服、其他公共库)
1.私服:当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务
2.当用户输入第一条Maven命令后,Maven才会创建本地仓库,然后根据pom配置从远程仓库下载依赖构建到本地仓库,当Maven执行编译或测试时,如果需要使用到依赖文件,它总是基于坐标使用本地仓库的依赖文件,如下图
3.使用maven是为了更好的帮项目管理包依赖,maven的核心就是pom.xml配置文件
当我们需要引入一个jar包时,在pom文件中加上依赖坐标就可以从仓库中依赖到相应的jar包
<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>xxx</artifactId>
</dependency>
4.本地仓库目录:C:\Users\ADMIN\.m2\repository
这是默认的,可以自定义位置,如图
四、常遇问题以及对应的解决方法
1.jar包冲突
报错:the method's class,xxx, is available form the following loacations
2.引入私服上没有的外部jar包
3.查看项目是否引入某个jar包
图中方法3:或者直接代码中指定引入该包哪个版本的
比如log4j漏洞修复,直接在根pom.xml中加入:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.17.2</version>
</dependency>
补充:
如果根pom中加入,还是存在旧版本,则查找具体是用在哪个pom下,对应pom中加入