Maven | 实战讲解Maven安装及基本使用

前言

,是一个跨平台的软件项目管理及自动构建工具,由Apache软件基金会所提供。主要服务于基于平台的项目构建、依赖管理和项目信息管理。的目标是能够让开发者在最短的时间内了解项目开发工作的完整状态,主要包括以下几个方面:

  • 简化项目构建过程
  • 提供一个统一的项目构建系统
  • 通过()提供一个项目的重要信息
  • 为最佳项目开发实践提供一个指导方针

接下来本文就通过的安装、基本的指令使用和一个实际的小例子来带你对的使用有一个大体的认识。此外,本文的样例基于和。

环境准备

在安装之前,首先要确保本地已安装并配置好了环境变量,可以在通过以下命令进行验证:

如果正常输出了的安装路径及的版本信息,那么就可以开始进行下一步了,否则,你可能需要先到官网下载一个,并按照下图所示配置好环境变量:

image-20201002192643626

在下载完成后,解压到本地文件夹即可,以我为例,我解压在 D 盘:

image-20201002193034042

然后在系统变量中配置即可:

image-20201002195354101

该文件夹下包含了运行的脚本,这些脚本用来配置命令,准备好和相关的系统属性,然后执行Java命令。其中是基于平台的脚本,是基于平台的下的运行脚本。当我们在命令行中输入一条命令时,其实就是在调用这些脚本。此外该文件夹中还包含了和这两个文件,该脚本包含了脚本所有的功能,只是多了一条的配置,用于调试。除此之外,该文件夹内还包含了和文件,其中是的配置文件,而则是为了配合的使用,关于和,本文不做介绍,感兴趣可以自行查找资料。

该文件夹下只有一个的包和其相关的文件,是一个类加载框架,使用该框架来加载自己的类库。

该文件下包含了一个我们以后接触最多的文件,主要用于配置代理、镜像和插件等。

此外还包含了一个配置文件和一个文件夹,其中主要是为了方便我们指定项目所使用的版本,需要配置插件一起使用,而文件夹(内含一个名为的配置文件)则用于配置我们在使用时的日志。

该文件夹下包含了所有在运行时所需要的一些库文件,这里就不做具体介绍了。

  • 其它

此外还有、、用于说明开源协议和简单介绍的文件。

实战演练

下面我们就开始通过一个实际小案例来说明的基本使用,为了加深对中配置文件和基本指令的学习,我们就不使用等集成的了,直接使用来进行接下来案例的讲解。

首先,我们先创建一个名为的文件夹,然后通过打开,新建一个名为的文件夹,并在其中输入以下内容:

下面对该文件中的内容进行简单介绍:

文件的第一行是头,就像中也有头为了告诉标准通用标记语言解析器如何解析文档一般,在这里主要是为了指定文档的版本和编码方式。紧接着是,主要声明了一些相关的命名空间和元素,可以方便我们在使用时编辑文档。在这个根元素下还有四个同级的元素,下面再一一介绍:

  • :制定了当前模型的版本,对于和来说,这个值固定为 4.0.0。
  • :定义了项目属于哪个组,一般都是对应公司或组织的域名反写并加上项目名,例如公司域名为,项目名为,那么就是。
  • :定义了在当前项目中的唯一的,当项目包含多个子项目时,我们就需要特别注意命名方式。
  • :指定了当前项目的版本,意思是快照,即代表当前项目属于不稳定的版本。
  • :声明了一个让用户更容易理解的项目名称,改元素属于可选项。

然后,我们就开始正式编写项目的主代码,我们首先按照规范,在文件夹下创建一个目录,然后在该目录下再根据我们在中和的命名,创建文件:,并写入以下内容:

然后在项目的根目录下执行命令进行编译,可以得到以下输出(第一次执行会下载很多插件依赖,下面输出中省略了这些下载输出):

其中用于告诉清理输出目录,告诉编译项目主代码,从上面的输出中也可以看出首先执行了进行删除了目录,然后执行了,由于项目中不存在文件,因此跳过了,最后执行了对主代码进行编译,并将编译的结果放到目录下,如下图所示:

Maven | 实战讲解Maven安装及基本使用

接下来,我们再编写测试的代码,首先我们依旧按照规范,在目录下继续创建目录,然后在编写正式的测试代码之前,让我们先引入的依赖,我们需要将进行如下修改:

然后我们就可以编写我们的测试代码了,我们在目录下,创建文件,并写入以下内容:

然后我们在根目录下开启终端,并运行指令(第一次运行同样会下载一些插件,这里也省略了这些下载输出),可以在终端中得到以下信息:

[INFO] Scanning for projects...[INFO] [INFO] ---------------------- com.butterfly.maven:demo >----------------------[INFO] Building a demo maven project 1.0-SNAPSHOT[INFO] --------------------------------[ jar ]---------------------------------[INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ demo ---[INFO] Deleting D:Tempmaventarget[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ demo ---[INFO] skip non existing resourceDirectory D:Tempmavensrcmainresources[INFO][INFO来源:庄周de蝴蝶
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2023年1月2日
下一篇 2023年1月2日

相关推荐