Maven:专门用于管理和构建Java项目的工具,它的主要功能有:
提供了一套标准化的项目结构;提供了一套标准化的构建流程(编译、测试、打包、发布);提供了一套依赖管理机制
(eclipse,myeclipse,idea等工具写出的项目不能互用,maven提供了一套标准化的项目结构,使它们的项目结构一致,创建的maven项目可通用)
一个标准的maven项目目录:
maven--->项目名称
src--->源代码和测试代码目录
main--->源代码目录
java--->源代码Java文件目录
resources--->源代码配置文件目录
test--->测试代码目录
java--->测试代码Java文件目录
resources--->测试代码配置文件目录
pom.xml--->项目核心配置文件
(标准化构建流程:编译->测试->打包->发布,maven提供简单命令来完成项目构建)
(依赖管理实际就是管理项目依赖的第三方资源,
它的步骤是下载jar包->复制jar包到项目->将jar包加入工作环境
而Maven只需要使用标准坐标配置来管理各种依赖,仅靠简单的配置即可完成依赖管理)
Apache Maven是一个项目管理的构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
Maven作用:标准化项目结构;标准化构建流程;方便的依赖管理
Maven的仓库:
本地仓库:自己计算机的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库https://repo1.maven.org/maven2/ (存放了大部分开源的jar包)
远程仓库(私服):一般由公司团队搭建的私有仓库
(由于中央仓库在国外,国内访问较慢,公司一般会创建私服将中央仓库的内容同步下来,加快访问速度,
其次中央仓库放的开源jar包,一些版权的jar包仓库找不到)
(当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包,
若有,直接引用,没有会先从中央仓库中下载对应的jar包到本地仓库然后再使用)
(若有私服,当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包,若有,直接引用,没有会先取查询私服中是否有对应的jar包
若有,直接引用,没有会先从中央仓库中下载对应的jar包到私服,私服再传递给本地仓库然后再使用)
网友评论