Maven快速上手

举报
ArimaMisaki 发表于 2022/08/06 22:04:56 2022/08/06
【摘要】 Maven(一) Maven概述Maven是专门用于管理和构建Java项目的工具,它的主要功能有:(一)提供了一套标准化的项目结构不同的IDE项目结构是不一样的,如IDEA创建的项目导入eclipse是运行不了的。但maven提供了一个标准,使得项目可以在不同的IDE中都可以成功运行。maven标准化后的项目结构如下:(二)提供了一套标准化的构建流程Maven提供了简单的指令使得可以简单的...

Maven(一)

Maven概述


Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

(一)提供了一套标准化的项目结构

不同的IDE项目结构是不一样的,如IDEA创建的项目导入eclipse是运行不了的。但maven提供了一个标准,使得项目可以在不同的IDE中都可以成功运行。

maven标准化后的项目结构如下:

image-20220525123339198

(二)提供了一套标准化的构建流程

Maven提供了简单的指令使得可以简单的完成一系列的操作。

image-20220525123510333

(三)提供了一套依赖管理机制

依赖管理:管理你项目所依赖的第三方资源,如jar包、插件等。

image-20220525123936736

对于依赖管理来说,下载jar包和版本问题很繁琐,而通过maven的配置文件进行简单的配置就可以完成这个过程。

image-20220525124202589

项目管理中不仅仅只有maven这样的工具,但是从下面的市场占有率来看,maven的确是目前项目管理的主流。

image-20220525124352641


Maven简介


Apache(阿帕奇基金组织)是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。如果想了解详细内容可以前往官网Maven – 欢迎来到 Apache Maven

Maven模型如图所示:

image-20220525125055511

项目对象模型如下:

image-20220525125414360

依赖管理模型如下:

image-20220525125346735

对于上面的示例图片中,我们需要关注一个结构,这个结构我们称其为jar包:

<groupId></groupId> //项目隶属的组织名称
<artifactId></artifactId> //模块名称
<version></version> //项目版本号

通过简单的命令就可以找到各种jar包并不是突然的,这个jar包都在maven仓库中。

Maven的仓库分为三种:本地仓库,中央仓库和远程仓库。本地仓库有一些常用的jar包;中央仓库是由Maven团队维护的全球唯一的仓库,这个仓库中拥有齐全的开源jar包;而远程仓库(私服)一般由公司团队搭建的私有仓库,毕竟中央仓库不再国内,连接下载的速度很慢,为此,搭建一个私人的仓库,结构和Maven团队的仓库差不多是十分必要的。

当项目需要导入所需的jar包,maven首先先去本地仓库寻找,如果存在则直接导入,如果不在则去中央仓库寻找并下载,下载到本地仓库后再导入项目。

如果私人或公司假设了远程私服仓库,那么项目在导入所需jar包时如果本地仓库没有,则需去远程仓库找,如果远程仓库找不到则需去中央仓库下载,不过一般私服是完全克隆中央仓库的,所以应该不存在找不到的问题


Maven的安装


下载Maven

从官网中下载Maven.zip包。

image-20220525132221409

点击download进入以下页面。

image-20220525132252253

点击指示位置,稍等几秒下载完毕,下载后解压在一个你喜欢的位置。

配置环境变量

接下来配置环境变量,赋值你maven包的根位置。

image-20220525132401719

然后打开环境变量,在系统变量下新建一个MAVEN_HOME,将maven安装的位置粘贴进去。

image-20220525132446690

然后点击系统变量中的path,进行编辑,然后新建%MAVEN_HOME%\bin,如下所示:

image-20220525132528331

做完上述的一切后打开cmd,然后输入mvn -version查看mvn是否安装成功。

image-20220525132724101

配置本地仓库

在maven创建一个目录mvn_resp,而后我们将使用这个目录作为maven的本地仓库。

image-20220525133131243

而后打开apache-maven-3.8.5\conf\setting.xml。我们要修改本地仓库信息。找到这一行:

image-20220525133353506

找到后将刚刚创建目录的位置复制给它即可。

配置阿里云私服

同样地,修改该配置文件setting.xml中的mirrors标签。

image-20220525133742956

我们复制如下的xml内容并粘贴到mirror标签中。

<mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

image-20220525134032372

Maven的基本使用


命令使用

如果你想要用Maven的标准格式创建一个项目,只需在选择项目时以Maven的形式创建即可。

image-20220525140508330

image-20220525143733886

在没有配置IDEA的情况下,我们可以在项目根目录打开黑窗口来完成编译、清理、测试、打包、安装等一系列操作。

mvn compile
mvn clean
mvn test
mvn package
mvn install

生命周期

对于同一个生命周期来说,如果你执行后面的命令,前面的命令会自动执行。

maven的生命周期分为三段,分别是clean清理工作,default核心工作和site产生报告和发布站点。

image-20220525142611426

IDEA配置Maven


一般来说IDEA自带Maven,但是我们可以使用自己的maven。

image-20220525143027232

然后还需修改配置文件和本地仓库。

image-20220525143224316

导入maven项目

image-20220525144241285

依赖管理


怎么写依赖模板相信通过前面的学习都已了然于心了。

只需写出坐标结构,然后写出你想要的模块名称,本地仓库就会自动提示。

导入后,如果本地仓库没有该jar包,你可以点一下下图那里的按钮,他能够去中央仓库或私服下载。

image-20220525150429179

同样地,当你将依赖的xml内容删掉时,我们也需要按那个按钮,使jar包消失。

如果你使用的是IDEA,可以在配置文件下按alt+insert选择depandency快速搜索jar包。IDEA会自动帮你写好依赖模板。

总结如下:

  • 在pom.xml中编写<dependencies>标签
  • <>标签中使用<dependency>引入坐标
  • 定义坐标的groupid,artifactid,version
  • 点击刷新按钮,使坐标生效

依赖范围


通过设置坐标的依赖范围,可以设置对应jar包的作用范围:编译环境、测试环境、运行环境。

image-20220525151724343

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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