Maven介绍

举报
WHYBIGDATA 发表于 2023/03/18 08:41:39 2023/03/18
【摘要】 Maven介绍

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工程和其编译结果的目录结构对比见下图:

1.png

  • 实际项目

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

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

构建环节

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

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

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

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

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

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

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

自动化构建方式

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

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

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

2.png

全文结束!!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。