maven使用详解
1、Maven基本命令-v:查询Maven版本本命令用于检查maven是否安装成功。Maven安装完成之后,在命令行输入mvn -v,若出现maven信息,则说明安装成功。compile:编译将java源文件编译成class文件test:测试项目执行test目录下的测试用例package:打包将项目打成jar包clean:删除target文件夹install:安装将当前项目放到Maven的本地仓库中。供其他项目使用
2、Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。本地仓库Maven本地的Jar包仓库。中央仓库Maven官方提供的远程仓库。当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。
3、在Maven中,坐标是Jar包的唯一标识,Maven通过坐标在仓库中找到项目所需的亭盍誓叭Jar包。如下代码中,groupId和artifactId构成了一个夼猿勇麒Jar包的坐标。<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.1</version></dependency>groupId:所需Jar包的项目名artifactId:所需Jar包的模块名version:所需Jar包的版本号
4、传宕蜉窑煜递依赖:如果我们的项目引用了一个Jar包,而该Jar包又引用了其他Jar包,那么在默认情况下项目编译时,Maven会把直接引用和简洁徂葛幢捎引用的Jar包都下载到本地。排除依赖:如果我们只想下载直接引用的Jar包,那么需要在pom.xml中做如下配置:(将需要排除的Jar包的坐标写在中)<exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion></exclusions>
5、若项目中多个Jar同时引用了相同的Jar时,会产生依赖冲突,但Maven采用了两种避免冲突的策略,因此在Maven中是不存在依赖冲突的。短路优先本项目——>A.jar——>B.jar——>X.jar本项目——>C.jar——>X.jar若本项目引用了A.jar,A.jar又引用了B.jar,B.jar又引用了X.jar,并且C.jar也引用了X.jar。在此时,Maven只会引用引用路径最短的Jar。声明优先若引用路径长度相同时,在pom.xml中谁先被声明,就使用谁。