Maven
文章目录
1.主要内容
1.Maven的简介
2.Maven的安装配置和目录结构
3.IDEA编辑器集成Maven环境
4.Maven项目的创建
5.Maven仓库的基本概念
6.Maven环境下构建多模块项目
7.Maven的打包操作
8.Maven依赖的基本概念
2.Maven的简介
2.1简介:
Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
举例子:假如你要炖排骨,你需要准备各种食材以及用量关系(做项目会有很多jar包),去超市买排骨专用调料(相当于maven的作用)。
2.2项目构建
build
2.3项目构建工具
Ant构建
最早的构建工具,基于IDE,它的Xml脚本编写格式让Xml文件特别大,对工程构建过程中的控制特别好
Maven【Java】
项目对象模型,通过其描述信息来管理项目的构建,报告和文档的软件项目管理工具。它填补了Ant的缺陷,第一次支持了从网络上下载的功能。Maven专注的是依赖管理,使用java编写
Gradle
结合以上两个的优点,继承了ant的灵活性和maven的生命周期管理,它最后呗google作为Android御用管理工具。不用xml作为配置文件格式,采用dsl格式,使脚本更加简介。
2.4Maven的四大特性
2.4.1依赖管理系统
Maven为java世界引入了一个新的依赖管理系统jar包管理 jar升级时只需修改配置文件即可,可以用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。
<dependency>
<groupid>javax.servlet</groupid>
<artifactId>javax.servlet-api</artifactId>
<version>1.1.0</version>
</dependency>
groupId:定义当前项目隶属的实际项目—公司名称
artifactId:该元素定义实际项目中的一个Maven模块—项目名,比如spring-bean
version:该元素定义Maven项目所处的版本
2.4.2多模块构建
将一个项目分别为多个模块。
在Maven中需要定义一个parent POM作为一组moudule的聚合POM。在POM中可以使用标签来定义一组子模块。
2.4.3一致的项目结构
统一的项目结构
2.4.4一致的构建模型和插件机制
3.Maven的安装配置和目录结构
3.1安装配置
1.检查jdk版本(需要1.7以上)
2.下载Maven
[https://maven.apache.org/download.cgi]:
3.配置环境变量
解压后吧Maven的根目录配置到系统唤醒变量中MAVEN_HOME,将bin目录配置到path中。
4.检验mvn -v
3.2Maven目录结构
目录 | 目的 |
---|---|
根目录 | 存放pom.xml所有子目录 |
src/main/java | 项目的java源代码 |
src/mian/resource | 项目的资源,比如propert文件 |
src/test/java | 项目的测试类,比如junit代码 |
src/test/resources | 测试使用的资源 |
4.IDEA编辑器继承Maven环境
1.配置maven
1.1修改默认仓库位置D:\Maven\apache-maven-3.6.3\conf 54行下面添加
<!--本地仓库的位置,用来存放jar包 -->
<localRepository>D:/Maven/m3</localRepository>
1.2更改阿里巴巴的景象,加快依赖下载 145行左右
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
2.更改idea中的配置
5.Maven项目的创建
new–>maven—>选择模板–>设置groupid artfactid -->检查maven环境
弹出自动导入Maven勾选
2.添加配置
3.编译运行
6.创建web项目
选择模板时选择webapp
7.Maven仓库的概念
仓库分为:本地仓库,远程仓库 本地仓库存在,直接使用;不存在,远程仓库找
远程仓库分为:中央仓库 、 私服 、 其他公共库
7.1仓库依赖的使用
例子:不用Maven时引入servlet jar包 现在直接去Maven仓库搜索 servlet,找到想用的版本后,复制代码,放进对应的依赖里<dependency></dependency>
中
8.Maven环境下构建多模块项目
8.1创建父项目
8.2右键new选择模块–>选择模板
8.3设置子模块的artifactid
8.4设置Maven的配置
8.5设置子模块的名称和存放路径
9.Maven的打包操作
jar包 与 war包
1.建立对应的目录结构
2.添加profile配置
3.设置资源文件配置
4.执行打包操作
10.Maven的基本概念
1.依赖基本配置
1.1.坐标
1.2.type依赖的类型
1.3.scope 依赖的范围
10.2依赖范围
10.3传递性依赖 可能会引起冲突!! 使用标签<exclusions></exclusions>
来排除冲突