JavaWeb——Maven(1/8):整体介绍(什么是Maven、Maven的作用、小结)

发布于:2024-10-17 ⋅ 阅读:(13) ⋅ 点赞:(0)

目录

什么是Maven

Maven的作用

依赖管理

统一项目结构

项目构建

小结


Web前端开发的知识了解完毕后,接下来要进入后端Web开发的学习,这一部分的内容是学习的重点。在这一部分内容中,首先要了解 Java 项目的构建工具 Maven。

首先先来介绍一下什么是 Maven。

什么是Maven

  • Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。

是一款管理和构建 Java 项目的工具。这是 Maven 的 logo,

这里提到了一个组织,Apache

Apache软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织。
开源项目:Welcome to The Apache Software Foundation!

所谓开源指的是源代码是开放的,谁都可以看到这个项目的源代码,而且它还是免费的。Apache 旗下的开源项目可以通过访问特定网址看到所有项目,Maven 只是其中的一个开源项目。

Maven的作用

作为一名 Java 开发工程师,在工作当中还会遇到很多 Apache 旗下的项目。

Maven 是一款管理和构建 Java 项目的工具,它的作用主要体现在三个方面:一是依赖管理;二是统一的项目结构;三是标准化的项目构建流程。

依赖管理

先来介绍第一个方面依赖管理。通过 Maven 这个工具,可以很方便快捷地管理项目当中的依赖资源,主要指的是 jar 包。

依赖管理

  • 方便快捷地管理项目依赖的资源(jar包),避免版本冲突问题。

通过这款工具,还可以避免依赖 Java 包的冲突问题。如果通过传统的手动导入包的方式来开发一个大型项目,会非常繁琐。

比如在项目中要使用 Logback 来记录日志,首先得上网去找 Logback 相关的 Java 包,把这些包下载下来,复制到项目当中,然后在项目当中才可以使用 Logback 相关的功能来记录日志。

如果采用传统的手动导入包的方式,将会变得非常繁琐,因为首先得上网搜索这些包,一个一个下载下来,还得注意包之间的版本配套情况,然后再将这些包一个一个导入到项目当中。

如果在后期要对某一个包的版本进行升级,不仅要升级这个版本,相关依赖的版本都需要升级,这就非常繁琐。

有了 Maven 这款项目构建工具以后,我们不用再手动导入包了,只需要在配置文件当中简单描述一下我们所需要的依赖信息,Maven 就会自动联网下载,然后在项目当中就可以直接使用了。

如果要升级这个依赖的版本,也只需要修改一下这个文件,把版本号改了,刷新一下,此时这个版本会自动切换,并且相关的依赖版本全部会切换过来。

这是 Maven 的第一个作用依赖管理。

统一项目结构

接下来介绍第二个作用,统一的项目结构。

Java 项目的开发工具非常多,比如像早期的 Eclipse 以及当前最流行的 IntelliJ IDEA,它们所构建出来的 Java 项目是有差异的,所创建的 Java 工程不能直接导入到另一个开发工具当中。

这个问题将会得到完美的解决,Maven 给我们提供了一套标准的项目结构。不管你用的是哪款开发工具,只要使用 Maven 这款项目构建工具生成出来的目录结构,在其他的开发工具当中都可以将这个 Maven 工程直接导入进来,所有的开发工具都是通用的。

在 Maven 创建出来的这个工程当中,src 下有两个子目录,一个是 main,下面存放的是项目的实际资源;另一个是 test,下面存放的是项目的测试资源。而 main 以及 test 的下面就是 Java 的源代码。而 resources 下面存放的是配置文件等资源。

下面还有一份比较核心的配置文件叫 pom.xml,这个是 Maven 工程的核心,当前工程所需要导入的依赖的信息都需要在这份核心配置文件当中来配置。

这是 Maven 的统一的项目结构。

项目构建

接下来再介绍最后一个作用,标准化的项目构建流程。

在 Maven 当中提供了一套跨平台标准的项目构建方式。

具体来说,我们所开发的 Java 项目要运行,需要先通过 Java 编译器进行编译。如果没有像 IntelliJ IDEA 这样的高级开发工具,就需要先进行编译,编译完毕之后再来进行测试,测试我们的程序是否能够正常运行。

测试完毕之后就可以将项目进行打包,然后再对外发布这个项目。这是每一个项目当中都需要做的事情,但是在做一些大型项目的时候,这一系列的操作会非常繁琐。

Maven 将这一系列的操作制作了一套标准的构建流程,我们可以直接基于它提供的一些命令中的指令,快速地来完成项目的编译、测试、打包、发布等操作。

我们可以到 IDEA 简单演示一下,这里有一个命令窗口,假如我们要对项目进行编译,我们只需要点击右侧的命令面板,然后在这里找到里面的一条指令,

这个项目就会自动的进行编译,并且将编译后的文件放在了一个目录(target)下。target 下存放的就是编译之后的文件。

如果你要对当前项目进行打包,只需要双击一下特定指令,

那么此时 Maven 会自动的对项目进行打包,并且将打好的包也放在 target 这个目录下。而且像 compile、package 这些 Maven 当中的一些指令,在 Windows 系统上是支持的,同样在 Linux 系统、Mac 系统上都是支持的,所以它还是跨平台的。

这是 Maven 的三个作用。

小结

用一句话来总结 Maven,Maven 就是一款 Java 项目的工具

既然它是一款工具,我们在学习 Maven 的时候,主要学习的就是这款工具的使用、Maven 当中的一些概念以及这款工具的安装、怎么样集成 Maven,最核心的一块功能就是 Maven 的使用。


END


学习自:黑马程序员——JavaWeb课程


网站公告

今日签到

点亮在社区的每一天
去签到