Maven介绍

Maven是一个自动化构建工具,主要用于Java项目的构建、文档生成、依赖管理等。它简化了构建过程,包括清理、编译、测试、打包、安装和部署等环节。相比于手动操作,Maven通过配置文件实现了标准化的自动化构建,提高了开发效率。
摘要由CSDN通过智能技术生成

Maven介绍



自动化构建工具

Maven 试图将模式应用于项目的构建基础结构,以便通过提供使用最佳实践的明确路径来提高理解力和生产力。

Maven本质上是一个项目管理和理解工具(自动化构建工具),因此Maven提供了一种帮助管理的方法:

  • 建立(Builds)
  • 文档(Documentation)
  • 报告(Reporting)
  • 依赖(Dependencies)
  • 单片机(SCMs)
  • 释放(Releases)
  • 分配(Distribution)

在JavaEE开发的历史上构建工具的发展也经历了一系列的演化和变迁:Make→Ant→Maven→Gradle→其他……

构建的概念

构建并不是创建,创建一个工程并不等于构建一个项目。要了解构建的含义我们应该由浅入深的从以下三个层面来看:

  • 纯Java代码

大家都知道,我们Java是一门编译型语言,.java扩展名的源文件需要编译成.class扩展名的字节码文件才能够执行。所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件。

  • Web工程

当我们需要通过浏览器访问Java程序时就必须将包含Java程序的Web工程编译的结果“拿”到服务器上的指定目录下,并启动服务器才行。这个“拿”的过程我们叫部署

我们可以将未编译的Web工程比喻为一只生的鸡,编译好的Web工程是一只煮熟的鸡,编译部署的过程就是将鸡炖熟。

Web工程和其编译结果的目录结构对比见下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fGHXh5jK-1676791898943)(1.png)]

  • 实际项目

在实际项目中整合第三方框架,Web工程中除了Java程序和JSP页面、图片等静态资源之外,还包括第三方框架的jar包以及各种各样的配置文件。所有这些资源都必须按照正确的目录结构部署到服务器上,项目才可以运行。

综上所述:构建就是以我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面和图片等静态资源作为「原材料」,去**「生产**」出一个可以运行的项目的过程。

构建环节

  • 清理:删除以前的编译结果,为重新编译做好准备。

  • 编译:将Java源程序编译为字节码文件。

  • 测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。

  • 报告:在每一次测试后以标准的格式记录和展示测试结果。

  • 打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包,Web工程对应war包。

  • 安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。

  • 部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。

自动化构建方式

其实上述环节我们在IDEA中都可以找到对应的操作,只是不太标准。那么既然IDE已经可以进行构建了我们为什么还要使用Maven这样的构建工具呢?

使用IDE开发工具构建项目,往往很大一部分时间花在了编译、打包、部署、测试这些程式化的工作上面,而真正需要由“人”的智慧实现的分析问题和编码却只占了很少一部分。所以,我们就需要将程式化的工作交给机器去帮助我们完成,而我们就完成代码编写和问题修复就可以了。所以,我们采用maven来帮助自动化构建项目。

那么Maven又是如何实现自动化构建的呢?简单的说来就是它可以自动的从构建过程的起点一直执行到终点:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ygBnsUxe-1676791898945)(2.png)]

全文结束!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值