Maven的核心概念
1.约定的目录结构
2.POM
3.坐标
4.依赖
5.仓库
6.声明周期/插件/目标
7.继承
8.聚合
第一个Maven工程
1.创建约定的目录结构
├───src
│ ├───main
│ │ └───java
│ │ └───resources
│ └───test
│ └───java
│ └───resources
└───target
└───classes
└───cnblogs
①根目录:工程名
②src目录:源码
③pom.xnl文件:Maven工程的核心配置文件
④main目录:存放主城局
⑤test目录:存放测试程序
⑥java目录:存放Java源文件
⑦resources目录:存放框架或其他工具的配置文件
常用的Maven命令
1.注意:执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录。
与构建过程相关:编译,测试,打包。。。
2.常用命令
mvn clean:清理
mvn compile:编译主程序
mvn test-compile:编译测试程序
mvn test:执行测试
mvn package:打包
mvn install:安装
mvn site:生成站点
POM
含义:Project Object Model项目对象模型
pom.xml对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。
重要程度相当于web.xml对于动态web工程
坐标
Maven的坐标
使用下面三个向量在仓库中唯一定位一个Maven工程
1.groupid:公司或组织域名倒序+项目名
<grounpid>com.atguigu.maven</groupid>
2.artifactid:模块名
<artifactid>Hello</artifactid>
3.version:版本
<version>1.0.0</version>
仓库
仓库的分类
本地仓库:当前年闹上部署的仓库目录,为当前电脑上所有Maven工程服务
远程仓库
①私服:搭建在局域网环境中,为局域网范围内的所有Maven工程服务
②中央仓库:架设在Internet上,为全世界所有Maven工程服务
③中央仓库镜像:为了分担中央仓库的流量,提升用户访问速度
仓库中保存的内容:Maven工程
①Maven自身所需要的插件
②第三方框架或工具的jar包
③我们自己开发的Maven工程
依赖
1.Maven解析依赖信息时会到本地仓库中查找被依赖的jar包。
对于我们自己开发的Maven工程,使用mvn install命令安装后就可以进入仓库。
2.依赖的范围
①compile范围依赖
*对主程序是否有效:有效
*对测试程序是否有效:有效
*是否参与打包:不参与
②test的范围依赖
*对主程序是否有效:无效
*对测试程序是否有效:有效
*是否参与打包:不参与
③provided范围依赖
*对主程序是否有效:有效
*对测试程序是否有效:有效
*是否参与打包:不参与
*是否参与部署:不参与