官方地址 => maven.apache.org
二、本地安装
设置环境变量path为maven目录下的bin目录。
验证是否安装成功,控制台中使用mvn -version可以查看到版本信息。
三、集成开发工具
MyEclipse中自带maven插件,Eclipse需要安装插件。
四、仓库repository
默认存储地址在${user.home}/.m2/repository
可以通过修改D:\apache-maven-3.3.9\conf\settings.xml自定义仓库存放地址。
<!-- localRepository The path to the local repository maven will use to store artifacts. Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> <localRepository>D:\apache-maven-3.3.9\repository</localRepository> -->
五、依赖
通过配置pom.xml文件,可以实现jar的自动下载。
优先从本地仓库下载,如果本地仓库没有则先从maven中心仓库下载。
1、groupId ==> 项目
2、artifactId ==> 模块
3、version ==> 版本
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.5.RELEASE</version> </dependency> </dependencies>
七、传递依赖
如果B依赖A、C依赖B,C也依赖了A
相同依赖优先级
1、取优先使用
2、取依赖路劲最小
八、scope依赖的范围
1、compile 默认,编译、运行时加载
2、test 测试时加载
3、provided 编译时加载、运行时不加载
4、runtime 运行时加载
九、排除
<exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.5.RELEASE</version> </exclusion> </exclusions>
十、聚合
将<packaging>pom</packaging>设置为pom,统一管理多个pom
<modules> <module>../xx</module> <module>../xx</module> <module>../xx</module> </modules>
十、继承
将<packaging>pom</packaging>设置为pom,子类强制依赖父类所有jar包。
<parent> <artifactId>xxx</artifactId> <groupId>xxx</groupId> <version>xxx</version> </parent>
十一、继承管理
父类通过dependencyManagement申明依赖所有的jar包,子类不直接继承所有jar包,必须手动指定依赖的jar包。
<dependencyManagement> <dependencies> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.5.RELEASE</version> </dependencies> </dependencyManagement>