它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建
能够集中管理jar包,提供一键构建
配置:系统变量新增MAVEN_HOME,配置到bin上级目录,PATH路径配置到bin目录
本地仓库:maven配置文件的<localRepository>
cmd下运行:mvn -v 可查看到安装版本即安装成功
clean:属于一套生命周期
compile、test、package、install:属于一套生命周期;还有一种站点生命周期,生成项目报告
deploy:将maven项目发布到私服
maven工程具有一定的目录结构
src与pom.xml同级(maven配置文件)
1、首选项-maven-installations选择add增加maven版本
2、首选项-maven-User settings选择安装好的maven的配置文件settings.xml 3、show view-找到maven资源库-rebuild index重建索引
即父工程(maven project)和子工程(maven module)
创建父工程时,在正常创建maven项目的选择打包方式时选pom
创建子工程,可在父工程的右键maven菜单里直接创建,需要注意的是创建web层子工程时,打包方式是war(其他是jar)
可以通过对冲突的jar右键exclude剔除;
依赖调节原则:
第一声明者优先原则:pom.xml中定义的依赖,先声明的有效
路径近者优先原则:被依赖的版本声明跟发出依赖的路径最近
使用版本锁定实现冲突解决(常用)
依赖关系
依赖具有传递性,但不是无限传递。
如果在传递过程中,导致jar包丢失,则在需要的工程中再次导入坐标即可
Nexus是maven仓库管理器,通过nexus可以搭建maven仓库,同时还提供强大的仓库管理功能,构建搜索功能等。下载地址:http://www.sonatype.org/nexus/archived/
解压后,cmd运行bin目录下的nexus.bat
nexus.bat ?install(管理员模式) ?/下载 ?uninstall
安装成功后,在服务中启动nexus服务
nexus配置文件中是默认的配置
http://localhost:8081/nexus/
使用内置账户 admin/admin123登录
nexus仓库(4种)
1、hosted,部署自己的jar到此,包括发布和测试
2、proxy,代理远程的公共仓库,如maven中央仓库
3、group,仓库组,合并多个仓库,通常配置自己的maven连接仓库组
4、virtual,过期
1、修改maven配置信息settings.xml
|-配置私服的用户名和密码
|-配置私服的仓库使用profile定义仓库
|-激活profile定义的仓库使之生效
2、配置项目的pom.xml,配置私服仓库的地址
由私服对公司项目的依赖jar包统一管理,也提高下载速度。
待续……