Maven简介
# Maven 简介
# 传统项目管理状态分析
jar 包不统一, jar 包不兼容
工程升级维护过程操作繁琐
# Maven 是什么?
Maven 本质是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型 (POM);
POM(Project Object Model):项目对象模型
# Maven 的作用?
- 项目构建:提供标准的,跨平台的自动化项目构建方式
- 依赖管理:方便快捷的管理项目的资源(Jar 包),避免资源间的版本冲突问题
- 统一开发结构:提供标准的,统一的项目结构
# 下载与安装
# 目录结构
# bin 目录
Mavne 中所有的可运行指令,也称脚本目录。
# boot 目录
一些启动项,里面主要就是 Maven 的类加载器。
# conf 目录
里面主要就是 Maven 的配置文件和日志文件. 其中最主要的配置文件就是 settings.xml.
# settings 常见配置项
localRepository
:指定本地仓库的路径。本地仓库是 Maven 用来存储项目依赖的地方。默认情况下,本地仓库位于用户主目录下的 .m2 文件夹中。mirrors
:用于配置镜像仓库。镜像仓库是指在下载依赖时,从镜像仓库获取而不是从中央仓库获取。可以配置多个镜像仓库,每个镜像仓库包含 id、url 和 mirrorOf 等属性。proxies
:用于配置代理服务器。如果你在使用 Maven 时需要通过代理服务器访问外部资源,可以在这里配置代理服务器的相关信息,如主机名、端口号、用户名和密码等。servers
:用于配置服务器凭据。如果你需要访问需要身份验证的远程仓库或者发布到远程仓库,可以在这里配置服务器的凭据,如 id、用户名和密码等。profiles
:用于配置 Maven 的配置文件激活条件。可以根据不同的环境或需求,定义不同的 profile,并在这里配置 profile 的激活条件,如激活的操作系统、Java 版本等。pluginGroups
:用于配置插件组。插件组是一组相关的插件,可以在 pom.xml 文件中直接使用其插件 ID 而无需指定插件的完整坐标。
# Maven 环境变量配置
依赖 Java, 需要配置 JAVA_HOME
设置 Maven 自身的运行环境, 需要配置 MAVEN_HOME
# Maven 基础概念
# 仓库
用于存储资源, 包含各种 jar 包.
# 仓库分类
- 本地仓库:自己电脑上存储资源的仓库, 连接远程仓库获取资源。
- 远程仓库:非本机电脑上的仓库, 为本地仓库提供资源。
- 中央仓库:Maven 团队维护, 存储所有资源的仓库。
- 私服仓库:部门 / 公司范围内存储的仓库, 从中央仓库获取资源。
# 私服的作用
保存具有版权的资源, 包含购买或者自主研发的 jar
中央仓库中的 jar 都是开源的, 不能存出具有版权的资源
一定范围内共享资源, 仅对内部开发, 不对外共享
# 坐标
# 什么是坐标?
Maven 中的坐标用于描述仓库中资源的位置
# Mavne 坐标的主要组成
groupId
(组织 id):定义当前 Maven 项目隶属于组织的名称(通常域名反写)artifactId
(项目 id):定义当前 Maven 项目名称(通常是模块名称)version
(版本号):定义当前项目的版本号packaging
:定义该项目的打包方式
# Maven 坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成