1216-Maven

旧街凉风 提交于 2019-12-21 06:12:21

Maven

概念

  • Apache下的开源项目
  • java开发的,基于POM(Project Object Model 项目对象模型)的,项目管理工具

作用

  • 依赖管理(自动导包(插件也是依赖包)、依赖版本控制)
  • 项目构建(利用maven命令 编译成字节码文件–>打包成jar/war–>部署到服务器)

目录结构

在这里插入图片描述

conf/settings.xml

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

仓库repository

查找顺序
本地仓库>远程仓库(若有)>中央仓库
远程/中央下载到的将返回到本地仓库保存
jar包坐标
GAV:groupID,artifactID,Version
在这里插入图片描述依赖包下载异常:下载不成功,文件名出现lastUpdate
在这里插入图片描述

创建

Eclipse

创建

在这里插入图片描述

pom文件

在这里插入图片描述

idea

编码配置

在这里插入图片描述

生命周期/9大命令

在这里插入图片描述

POM中的其他常用标签

自定义变量:properties标签
在这里插入图片描述

静态配置文件:build-resources
插件管理:build-plugins
在这里插入图片描述

依赖传递

依赖传递
项目依赖A,A依赖B,C C依赖D——maven将ABCD都自动添加

依赖冲突
1.排除法:exclusions标签
2.版本号限制(dependencyManagement中限制)
3.第一声明原则
4.路径就近原则

在这里插入图片描述

继承-父子关系

创建一个子项目:项目右键-new-module
在这里插入图片描述在这里插入图片描述在这里插入图片描述
一般不在父项目进行开发,父项目的src可以删除*

子项目的删除:子项目右键-remove Module;刷新;子项目右键-delete;父项目pom文件删除对应module标签

聚合

聚合关系:多个项目模块之间的关系(聚合成一个项目,互相引用)

子项目依赖另一个子项目
通过在子项目中添加依赖标签,定位另一个子项目,实现:可以在子项目A中使用B的类

在这里插入图片描述maven不支持循环依赖
不支持A依赖B,B依赖C,C依赖A
只能单向依赖

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!