Maven快速入门

简介: 本文可以帮助不熟悉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

目录
相关文章
|
6月前
|
Java 数据库连接 Apache
JavaWeb基础第二章(Maven项目与MyBatis 的快速入门与配置)
JavaWeb基础第二章(Maven项目与MyBatis 的快速入门与配置)
|
7月前
|
XML Java 大数据
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
115 1
|
7月前
|
Java Linux 测试技术
Maven快速入门
Maven快速入门
47 0
|
Java Linux 测试技术
Maven快速入门
Maven快速入门
69 0
|
Java 数据库连接 Maven
Maven快速入门
Maven快速入门
136 0
|
Java 数据库连接 Maven
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(3)
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat
153 0
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(3)
|
SQL Java 数据库连接
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(2)
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat
112 0
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(2)
|
Java 关系型数据库 MySQL
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(1)
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat
117 0
MyBatis快速入门——第五章、maven整合Mybatis&Servlet_tomcat(1)
|
Java 关系型数据库 MySQL
MyBatis快速入门——第一章、idea的maven配置与demo实例
MyBatis快速入门——第一章、idea的maven配置与demo实例
168 0
MyBatis快速入门——第一章、idea的maven配置与demo实例
|
存储 缓存 算法
Gradle快速入门使用指南 - Maven转移到Gradle
Gradle快速入门使用指南 - Maven转移到Gradle
1169 0
Gradle快速入门使用指南 - Maven转移到Gradle