【十 薇:PPS33A】【质量有保障】
一篇 Chat 带你快速学会 Java 项目管理工具:Maven
Color Chat 作者
一只在 Java 领域埋头苦干的猿猿,博客园博主,新晋写手。目前在从事大数据项目的开发工作,有着丰富的 Java 项目开发经验。曾参与互联网+项目创新大赛。希望分享知识与自身经历,同时希望每个人都能阅读到通俗易懂的文章。
... 更多
Maven 是一个 Java 编写的开源的项目管理和构建工具,是当前最流行的项目管理和构建工具,做为一名 Java 开发人员,应该熟练掌握 Maven 的相关知识点,掌握 Maven 的相关操作。 本场 Chat 你将收获的知识点如下: Maven 是什么; Maven 的核心概念解析:依赖管理与一键构建; Maven 仓库的概念,仓库之间的关系; Maven 的安装与配置解析; Maven 常用命令及生命周期; Idea 创建 Maven 工程实战; Idea 调试 Maven 中 jar 包优先级及冲突的技巧; Maven 中拆分与聚合思想及继承和依赖概念解析; 公司中 Maven 私服的安装与使用; 通过这场 Chat 的讲解,使得大家可以快速掌握使用 Maven 融入使用 Maven 进行开发的团队,可以独立的使用 Maven 构建自己的项目开发。快来学习吧! 当前内容版权归码字科技所有并授权显示,盗版必究。
文章正文
* * 前言 * Maven 介绍 * 什么是 Maven * Maven 的优势 * Maven 的依赖管理与一键构建 * Maven 的依赖管理 * Maven 的一键构建 * Maven 的仓库概念及仓库间关系 * 仓库分类介绍 * 仓库的镜像切换 * 仓库之间的下载顺序 * Maven 的安装与配置解析 * Maven 的下载 * Maven 安装 * Maven 的环境变量配置 * 配置 MAVEN_HOME * 配置 Maven 的 bin * 测试 Maven 的版本 * Maven 配置文件解析 * localRepository * interactiveMode * offline * pluginGroups * proxies * servers * mirrors * profiles * activeProfiles * IDEA 创建 Maven 工程实战 * IDEA 配置 Maven 环境 * IDEA 创建 Maven 工程 * Maven 工程的 POM 文件 * POM 文件基础配置解析 * POM 文件的常用配置 * 总结 * Maven 常用命令及生命周期 * Maven 的常用命令 * Maven 的三种生命周期 * Maven 生命周期阶段 * 命令与生命周期的关系 * IDEA 调试 Maven 中 jar 包优先级及解决冲突的技巧 * 公司中 Maven 私服的安装与使用 * Nexus 简介 * 下载 Maven 私服 Nexus * 安装私服 Nexus * 启动私服 * 私服配置文件解析 * 登录私服界面 * 上传 jar 包到私服 * 从私服下载 jar 包 * 总结
前言
今天给大家带来一篇 Chat,我们来说一说 Java 的项目管理工具 Maven。Maven 是目前最受欢迎的 Java 项目管理构建自动化综合工具。通过 Maven 我们快速构建项目,管理 jar 包,使团队开发得到统一。接下来将给大家详细解析。
在此也推荐几篇我之前写的 Chat,如果大家感兴趣的话可以订阅看一下,谢谢大家。
手把手带你玩转 Spring Boot 之框架整合篇
手把手带你玩转 Spring Boot
Java 程序员面试必备!助你剑指 Offer
手把手教你玩转 Redis
Spring 框架入门
Maven 介绍
什么是 Maven
Maven 是目前最受欢迎的 Java 项目管理构建自动化综合工具。它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。
Maven 的优势
优势一:方便引用
在我们的以前开发的时候,当你用到第三方的 jar 包的时候,你需要手动地将其引入进来,这就会有一个问题,你需要去百度,谷歌等搜索你需要的 jar 包,然后下载下来,再放入自己的工程中,而且有的 jar 包可能很不好找。这个时候 Maven 解决了这一问题,Maven 的仓库中存储着几乎所有的 jar 包,只要引入 Maven 的唯一坐标,项目就可以使用这一 jar 包。
优势二:方便版本统一管理
当我们不同开发人员开发功能时,比如它们都使用到了 Spring 的相关 jar 包,一个开发人员可能选择了 4.X 的版本,另一个选择了 5.X 的版本,这时候就会造成 jar 包版本的不统一,后续处理起来会造成很多问题,这个时候,我们使用 Maven 可以对版本进行统一管理。
优势三:减小项目的体积
传统的项目需要将使用的 jar 包都放入项目中,造成项目的体积十分大,当我们使用 Maven 的时候,将 jar 包都放入仓库中,可以大大减小项目的体积。
优势四:简化命令操作
当我们开发完之后,Maven 可以通过命令,实现一键构建,一键打包,一键发布,大大简化了开发人员的操作。
Maven 的依赖管理与一键构建
依赖管理与一键构建是 Maven 的核心与关键概念,下面进行详细介绍。
Maven 的依赖管理
Maven 的第一大关键概念就是依赖管理。所谓依赖管理就是我们的项目肯定不是单一的,要引用一些 jar 包或者模块。传统的时候,我们各自项目维护各自的依赖,各自为战,不能统一。Maven 就帮我们做了这一件事,Maven 用它独有的 pom.xml 来统一管理依赖,我们只要在文件中定义好,Maven 就会自动的帮我们梳理依赖关系,并导入进来。Maven 的依赖管理可以帮助我们管理这么几个方面。
依赖调节:决定当多个手动创建的版本同时出现时,哪个依赖版本将会被使用。 如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。
依赖管理:直接的指定手动创建的某个版本被使用。例如当一个工程 C 在自己的依赖管理模块包含工程 B,即 B 依赖于 A, 那么 A 即可指定在 B 被引用时所使用的版本。
依赖排除:任何可传递的依赖都可以通过 exclusion 元素被排除在外。举例说明,A 依赖 B,B 依赖 C,因此 A 可以标记 C 为 "被排除的"。
依赖可选:任何可传递的依赖可以被标记为可选的,通过使用 optional 元素。例如:A 依赖 B,B 依赖 C。因此,B 可以标记 C 为可选的, 这样 A 就可以不再使用 C。
Maven 的一键构建
先来说一下软件开发过程中构建的概念。构建是指项目从编译、测试、运行、打包、安装、部署等的一些列过程。
在传统的开发中,我们要经历没一个阶段。使用 Maven 后,我们将整个的构建过程都交给 Maven 来处理,使用一个命令可以让 Maven 自动的来完成整个过程。
来源:https://www.cnblogs.com/jenixbsk/p/12160762.html