Maven

简介: Maven

前言:今天给大家分享一个Maven,它是一个基于Java的项目管理工具,使用它可以减少了开发人员的工作量,提高了项目的整体质量和交付效率

一,介绍

Maven是一个基于Java的项目管理工具,它是Apache软件基金会的一个开源项目。

Maven的主要目标是帮助开发人员管理项目的软件构建、报告和文档等方面的复杂性

Maven通过提供一个一致性的项目结构和可复用的构建模型,简化了项目构建和依赖管理的过程。它使用了一个称为项目对象模型(Project Object Model,POM)的XML文件来描述项目的配置和依赖关系。

使用Maven,开发人员可以轻松地构建项目、管理项目的依赖关系、运行测试、生成报告以及打包和发布项目。这些功能可以通过运行Maven命令来实现,例如"mvn clean install"用于构建项目并将其安装到本地存储库。

Maven的核心概念包括:

  1. POM: 一个项目的POM文件描述了项目的元数据和配置信息,包括项目的坐标、依赖、插件、构建和部署等。
  2. 坐标: 一个项目的坐标唯一标识了它在Maven存储库中的位置,包括GroupId(组织或公司)、ArtifactId(项目名称)和Version(版本号)。
  3. 依赖管理: Maven能够自动下载并管理项目所需的依赖项,开发人员只需要在POM文件中声明依赖的坐标即可。
  4. 生命周期和插件: Maven定义了一组标准的构建生命周期,开发人员可以通过配置不同的插件来定制构建过程。

理解:总的来说,Maven简化了Java项目的构建和管理过程,提供了一种结构化和可扩展的方式来组织项目,以及处理项目的依赖关系和构建过程。通过使用Maven,开发人员可以更高效地开发和交付他们的软件。关于Maven的目的:

  1. 简化项目构建:Maven通过提供一个统一的构建模型,定义了一套标准的构建流程,使得开发人员能够更轻松地构建项目。开发人员只需要编写一个简单的POM文件来描述项目,Maven会根据POM文件自动化执行所有构建过程。这意味着你不需要手动执行繁琐的编译、测试、打包等操作,Maven会自动为你完成。(这里如果实在不理解,我举一个例子:当我们使用MySQL5.8的版本需要更改时,这里我们只要改一个配置文件中的pom.xml:Maven 项目核心配置文件就可以了
  2. 管理项目依赖:在软件开发中,项目通常需要依赖许多外部的第三方库和组件。Maven提供了一个简化和集中管理项目依赖的机制。你只需要在POM文件中声明需要的依赖Maven会自动下载并管理这些依赖项的版本和传递性依赖,确保项目的依赖关系正确且一致。
  3. 标准化项目生命周期:Maven引入了一套标准的生命周期概念,定义了一系列的构建阶段(例如编译、测试、打包、部署等)。这些阶段可以通过配置插件来实现特定的功能。通过遵循这个标准的生命周期,开发人员可以更好地组织项目,使得开发、构建和部署的过程更加统一和可控。
  4. 提供可重用的构建模块:Maven鼓励开发人员将常用的构建逻辑和步骤抽象为可重用的构建插件和模块。这样一来,其他项目可以直接使用这些插件和模块,从而避免了重复编写相同的构建逻辑,提高了开发效率。
  5. Maven的目的是让开发人员能够更专注于软件开发而不是繁琐的构建和依赖管理工作。它提供了一种标准化和自动化的方式来构建和管理Java项目,减少了开发人员的工作量,提高了项目的整体质量和交付效率

二,安装

2.1从官网下载Maven。

这里如果我们点击下载进去是一串数字的话,那么很可能这个数字串是表示文件的唯一标识符或编码。解决方法:下载低版本的Maven。

2.2下载完成后,解压到合适的位置即可,例如: D:\apache-maven-3.6.3

2.3.配置

这里可以参考我之前发配置jdk1.8的博客。

这里我使用的电脑版本是win11的,win10,win7版本配置要注意补分号。

新建系统变量 MAVEN_HOMEM2_HOME

编辑系统变量 Path,添加变量值:;%MAVEN_HOME%\bin;%M2_HOME%\bin,如下图:

win+R在命令提示符下执行 mvn -version ,输出结果如下图所示,证明 Maven 配置成功。

2.4.本地仓库

  1. 在任意盘符下新建文件夹repository(文件夹名称自定义),新建文件夹的路径则为:D:\repository
  2. 打开apache-maven-3.5.0目录下的 conf/settings.xml 文件
  3. 找到节点localRepository,在注释外添加自己仓库的地址并保存settings.xml 文件

2.5远程仓库

默认远程仓库在国外,为提高访问效率通常会使用国内阿里云远程仓库,打开settings.xml 文件,找到mirrors标签,复制下面的代码,保存即可

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

2.6.验证

证maven本地仓库和远程仓库是否配置成功,按住win+R 输出cmd弹出命令行窗口。

首次执行 mvn help:system 命令,Maven相关工具自动帮我们到Maven中央仓库下载缺省的或者Maven中央仓库更新的各种配置文件和类库(jar包)到Maven本地仓库中。

下载完各种文件后, mvn help:system 命令会打印出所有的Java系统属性和环境变量:

这个是失败的标志,如果失败了就重新联网下载

这个是成功的标志

3.Maven仓库

Maven 在某个统一的位置存储所有项目的构件,这个统一的位置,我们就称之为仓库。换言之,仓库就是存放依赖和插件的地方

maven依赖的查找顺序:本地仓库 -> 私服 -> 中央仓库

关于仓库分为:本地仓库,私服,中央仓库;其中私服和中央仓库都属于远程仓库。

中央仓库:maven团队自身维护的仓库,属于开源的;

私服:各公司/部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源;

本地仓库:开发者自己电脑上存储资源的仓库,也可从远程仓库获取资源;

私服的作用:

  • 保存具有版权的资源,包含购买或自主研发的jar
  • 一定范围内共享资源,能做到仅对内不对外开放

4.Maven坐标:

每个Maven项目都有一个唯一的坐标来标识它的身份。这个坐标由三个主要部分组成:GroupId(组织或公司标识符)、ArtifactId(项目标识符)和Version(版本号)。这些坐标用于唯一地确定一个项目所需的依赖项(例如菜鸟驿站一样,当我们要取用某个快递时,根据快递的位置摆放取)。

Maven 坐标主要由以下元素组成:

  • groupId: 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。
  • artifactId: 项目 ID,通常是项目的名称。
  • version:版本。
  • packaging:项目的打包方式,默认值为 jar。

5.Maven依赖管理:

Maven使用依赖管理来管理项目所需的依赖项。在POM文件中,你可以声明项目所需要的依赖项和它们的版本。Maven会自动下载这些依赖项,并处理它们之间的传递性依赖关系。

6.生命周期和插件:

Maven定义了一套标准的构建生命周期,用于在项目构建过程中执行不同的阶段。每个生命周期阶段都包含了一系列的插件目标(Plugin Goal),用于执行特定的构建任务。开发人员可以根据需要配置和使用各种插件,来实现项目构建过程中所需的特定功能。

7.构建过程:

当你执行Maven构建命令时,Maven会按照生命周期的定义来执行构建过程。在这个过程中,Maven会检查POM文件,处理依赖项,执行各个生命周期阶段的插件目标,最终生成构件(输出的可执行文件、库文件等)。

三,使用eclipse配置maven项目

出现这个项目结构说明配置ok了

 

 

maven仓库:在这里可以导配置文件信息。

Maven Repository: Search/Browse/Explore (mvnrepository.com)

查找配置依赖

 

 

 

如果新建一个类有了提示,并且测试没问题

 

能够跳转到jsp,显示jsp内容那就说明我们的这个maven项目已经搭建好了。

总结:      

1优点导不同版本的依赖

2重复利用理解的项目综合模型

3通过配置POM文件和使用合适的插件,Maven能够自动化地进行项目的构建、依赖管理和生命周期管理,简化了Java项目开发和构建的过程。

 

目录
相关文章
|
Java Apache Scala
【阿里云镜像】配置阿里云Maven 镜像
【阿里云镜像】配置阿里云Maven 镜像
24498 1
【阿里云镜像】配置阿里云Maven 镜像
|
11月前
|
Java Linux 开发工具
用sdkman管理多个jdk切换
【10月更文挑战第13天】SDKMAN 是一个用于在基于 Unix 的系统(如 Linux 和 macOS)上管理多个软件开发工具包(SDK)版本的工具,特别适用于管理不同版本的 JDK。通过 SDKMAN,开发者可以轻松安装、切换和设置默认 JDK 版本,提高开发效率。安装后,可以通过 `sdk list java` 查看可用版本,使用 `sdk install java` 安装特定版本,并通过 `sdk use java` 切换版本。此外,还可以设置默认 JDK 版本,确保新终端会话中自动使用指定版本。验证版本切换是否成功,只需运行 `java -version` 命令即可。
740 1
|
8月前
|
XML JavaScript Java
SpringBoot集成Shiro权限+Jwt认证
本文主要描述如何快速基于SpringBoot 2.5.X版本集成Shiro+JWT框架,让大家快速实现无状态登陆和接口权限认证主体框架,具体业务细节未实现,大家按照实际项目补充。
545 11
|
NoSQL Linux 网络安全
Linux安装Redis(详细教程)
Linux安装Redis(详细教程)
1890 2
|
NoSQL 数据可视化 Linux
2022 年超详细步骤讲解 CentOS 7 安装Redis 。解决Redis Desktop Manager 图形化工具连接失败解决 ;connection failed处理。开机自启Redis
这篇文章提供了在CentOS 7上安装Redis的详细步骤,包括上传Redis安装包、解压安装、编译、安装、备份配置文件、修改配置以支持后台运行和设置密码、启动Redis服务、使用客户端连接Redis、关闭Redis服务、解决Redis Desktop Manager图形化工具连接失败的问题、设置Redis开机自启动,以及Redis服务的启动和停止命令。
2022 年超详细步骤讲解 CentOS 7 安装Redis 。解决Redis Desktop Manager 图形化工具连接失败解决 ;connection failed处理。开机自启Redis
|
XML Java 测试技术
Maven
Maven
612 0
|
存储 缓存 安全
为什么 Java 中的字符串是不可变的?
【8月更文挑战第21天】
310 0
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
5283 0
|
存储 Java Linux
Maven 仓库
Maven仓库是存储项目依赖的第三方库的位置,分为本地、中央和远程三种类型。本地仓库在首次执行Maven命令时创建,默认位于%USER_HOME%/.m2/repository/,可修改settings.xml设置自定义路径。中央仓库由Maven社区维护,包含大量开源Java构件,无需配置,可通过网络访问。开发人员可浏览http://search.maven.org/#browse搜索构件。当本地仓库缺少依赖时,Maven会从远程仓库下载至本地。