目录
了解maven
maven的作用
- maven采取约定大于配置的原则,规范了一套
- maven提供了完备的包管理功能,不用到处找jar包了
- maven提供了一套完整的项目构建声明周期,让开发人员一键式一站式测试打包发布等.
maven仓库
maven仓库分为
本地(local)
中央(central)
远程(remote) :定制的仓库,存放一些没在中央仓库中的包,比如公司自己的框架包
本地配置
本地maven的配置非常灵活,可以创建多个用于不同开发环境的配置文件.配置文件中指定不同的本地仓库地址和中央仓库地址
添加远程仓库
java.net https://maven.java.net/content/repositories/public/
依赖搜索顺序
- 搜索本地仓库
- 搜索中央仓库
- 搜索远程仓库
- 三种仓库中都没有所需包,抛出错误
定制包到本地仓库
一些中央仓库和远程仓库没有的包,想使用的话要手动导入本地仓库,比如想使用kaptcha包(用于生成验证码图片的工具)
下载 “kaptcha-2.3”,得到jar包
执行maven命令,加入本地仓库
mvn install:install-file -Dfile=/Users/hans/Downloads/kaptcha-2.3.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
加入成功,声明坐标
com.google.code kaptcha 2.3
pom文件
4.0.0 com.companyname.project-group project 1.0 war
依赖管理原则
- 如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。
- 依赖具有传递性
- 子类声明的依赖版本覆盖父类声明的依赖版本