# maven
1. maven基础
Maven是apache提供的一个项目管理工具,它的作用就是管理项目
2. maven作用
1). 依赖管理[方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题]
1. 依赖
denpendency 依赖(坐标):一个jar包
groupId 公司域名倒写
artifactId 项目名
version 版本号
坐标: Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。
使用坐标来定义项目或引入项目中需要的依赖。
2. 仓库种类
本地仓库: 自己计算机上的一个目录
远程仓库(私服): 一般由公司团队搭建的私有仓库
中央仓库: 由Maven团队维护的全球唯一的
3. jar包调用优先级: 本地仓库->私服->中央仓库
2). 统一项目结构[提供标准、统一的项目结构]
pom.xml: 这是maven要使用的当前项目的配置文件
target: 存储项目构建过程中产生的文件的(这个文件如果不存在会自动创建)
src: 项目的资源文件
main: 当前项目的正式文件
java: 正式的java文件
resources: 正式的配置文件
test: 当前项目的测试文件
java: 测试的java文件
resources: 测试的配置文件(这个目录一般是没有的)
3). 项目构建[标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式]
1. clean: 清理命令,作用是清理掉上一次项目构建产生的文件,也就是删除target目录
2. compile: 编译命令,作用是将 src/main/java 下的文件编译为class文件输出到target目录下
3. test: 测试命令,作用是执行 src/test/java 下的测试类
4. package: 打包命令,作用是将 src/main 下的文件进行打包
5. install: 安装命令,将打好包安装到本地仓库
6. deploy: 部署命令,将打好的包安装到私服
3. 依赖范围
1). maven运行程序员精确控制一个依赖在哪个过程中生效,它支持的依赖范围主要有下面几种:
2). compile: 依赖在编译、测试、运行时都有效,这也是默认配置
3). test: 依赖在测试时有效,编译和运行时不生效
4). provided: 依赖在编译、测试时有,运行时不生效
5). runtime: 依赖在测试、运行时有效,编译时不生效
4. 生命周期
1). 清理: clean
2). 默认: compile、test、package、install、deploy
3). 站点: site
标签:文件,依赖,java,项目,maven,测试
From: https://www.cnblogs.com/Rover20230226/p/17368308.html