Maven简介

Maven是一个Apache开源项目,用于自动化构建Java项目,管理依赖关系。它简化了构建过程,如编译、测试、打包等,并通过POM文件来定义项目配置。在没有Maven时,开发者需要手动下载和管理jar包及其依赖。安装Maven涉及设置JAVA_HOME环境变量,将Maven的bin目录添加到PATH中,并通过`mvn-v`进行验证。

Maven简介

在这里插入图片描述

Maven – Welcome to Apache Maven

1.1、软件开发中的阶段

需求分许:分析项目具体完成的功能,有什么要求,具体怎么实现。

设计阶段:根据分析的结果,设计项目的使用技术,解决难点。

开发阶段:编码实现功能,编译代码,自我测试。

测试阶段:专业的测试人员,测试整个项目的功能十分符合设计要求,出一个测试报告。

项目的打包,发布阶段:给用户安装项目。

1.2、Maven能做什么

  1. 项目的自动构建,帮助开发人员做项目代码的编译,测试,打包,安装,部署等工作。

  2. 管理依赖(管理项目中使用各种的 jar 包)。

    • 依赖:项目中需要使用的其他资源,常见的是jar包。比如说项目要使用mysql驱动,我们就说项目依赖mysql 驱动。

1.3、没有使用maven怎么管理依赖

管理jar,需要使用网络单独下载某个jar包

需要选择正确的版本。

手工处理 jar 文件之间的依赖,a.jar里面要使用B.jar的类。

1.4、什么是Maven

maven是apache基金会的开源项目,使用java语法开发。

maven是项目的自动化构建工具,管理项目的依赖。

1.5、Maven中的概念

  1. POM
  2. 约定的目录结构
  3. 坐标
  4. 依赖管理
  5. 仓库管理
  6. 生命周期
  7. 插件和目标
  8. 继承
  9. 聚合

1.6、Maven工具的获取和安装

官网地址:https://maven.apache.org/ 从中下载 .ZIP文件。使用的apache-maven-3.5.4-bin.zip

安装:

  1. 确定JAVA_HOME 指定jdk的安装路径,如果没有JAVA_HOME,需要在windows的环境变量中创建JAVA_HOME,它的值是jdk的安装路径。

  2. 解压缩 apache-maven-3.8.6-bin.zip,把解压后的文件放在一个目录中。

    目录的路径不要有中文,不要有空格。

  3. 把Maven安装目录下的bin的路径添加到path中

  4. 测试maven的安装,在命令行执行 mvn -v

在这里插入图片描述

maven解压后的目录结构

在这里插入图片描述

### Maven 的基本概念 Apache Maven 是一种强大的项目管理和构建自动化工具,广泛应用于 Java 开发领域。它基于 **项目对象模型 (POM)** 的核心理念,通过标准化的 XML 文件 `pom.xml` 来描述和管理项目的结构、依赖项以及其他元数据[^2]。 Maven 提供了一种统一的方式来定义项目的构建过程,并且能够自动处理复杂的依赖关系,从而显著提高开发效率。它的设计目标是让开发者专注于编写业务逻辑,而无需过多关注底层的技术细节。 --- ### Maven 的主要功能 #### 1. **项目构建** Maven 可以完成从源码到最终产物(如 JAR 或 WAR 文件)的整个构建流程。这包括但不限于清理旧文件、编译代码、运行单元测试、打包成品以及部署到远程仓库等操作[^4]。 #### 2. **依赖管理** 传统的方式通常需要手动下载所需的库文件并将它们放置在特定目录中,这种方式容易导致重复劳动或者遗漏某些间接依赖的情况发生。借助于 Maven 中央仓库的支持,只需简单声明所需组件名称及其版本号即可快速引入所有必要的资源[^3]。 以下是典型的 POM 配置片段用于指定外部依赖: ```xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> ``` #### 3. **插件机制** 为了适应不同场景下的需求变化,Maven 设计了一个灵活可扩展框架——即所谓的 “Plugins”。几乎所有的任务都是由相应的 Plugin 完成的,例如生成站点文档、执行静态分析等等都可以找到对应的解决方案[^5]。 #### 4. **生命周期与阶段** 每一个完整的 Build 过程都被划分为若干个独立但又相互关联的小步骤称为 Phases ,这些 Phase 组成了 Lifecycle 。用户可以通过调用某个具体的名字触发一系列预设好的动作序列来达到目的[^2]。 常见 LifeCycles 包括 clean, default 和 site : - Clean : 删除之前产生的中间结果; - Default : 实现常规意义上的 Compile -> Test -> Package 流水线作业; - Site : 创建 HTML 格式的报告页面展示当前状态信息。 #### 5. **多模块支持** 当面对规模较大的软件工程项目时,往往倾向于将其分割成为多个子部分以便更好地组织代码结构。在这种情况下,利用 Parent-child 关系可以方便地共享公共设置同时保持灵活性。 --- ### 总结 综上所述,Maven 不仅简化了日常工作中频繁遇到的各种琐碎事务,而且提供了丰富的特性帮助团队更高效地协作开发高质量的应用程序[^5]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值