maven基础
一、maven的基本样式
<project>
<modelVersion>4.0.0</modelVersion>~~~~
<groupId>xxx</groupId>
<artifactId>xxxx</artifactId>
<version>xxxx</version>
<dependencies>
</dependencies>
</project>
二、maven常用命令
- mvn -v 查看maven版本
- mvn compile 将java源文件编译成class文件
- mvn package 打包成jar
- mvn clean 清理环境,清除target文件夹
- mvn install 安装当前项目到maven的本地仓库中
maven相关特性
1、传递依赖与排除依赖
- 传递依赖:默认情况下引用jar包会将直接依赖和间接依赖的jar包都下载到本地
- 如何排除依赖?
在pom文件下给出排除的坐标
比如现在引用A,A中引用了B,而我想排除B
<dependency>
<groupId>xxx</groupId>
<artifactId>A</artifactId>
<version>xxxx</version>
<exclusions>
<exclusion>
<groupId>xxx</groupId>
<artifactId>B</artifactId>
<version>xxxx</version>
</exclusion>
</exclusions>
</dependency>
2、依赖冲突
maven配置中不存在依赖冲突(多个jar引用相同的jar时产生的依赖冲突)
为什么?
因为maven采用了短路径优先的方式排除冲突,若路径相同则按声明优先的原则进行使用,注意这里的不存在依赖冲突指的是同版本时不存在,当出现不同版本时候需要手动排除依赖来处理依赖冲突!
3、多模块项目聚合
父模块中poom文件的packaging必须时pom类型
<groupId>xxx</groupId>
<artifactId>XXXXXX</artifactId>
<version>xxxx</version>
<packaging>pom</packaging>