当前位置: 首页 > news >正文

(2024.6.23)最新版MAVEN的安装和配置教程(超详细)

1.什么是MAVEN

        Maven是一个自动化构建工具,主要用于Java项目,它由Apache软件基金会维护。Maven能够自动化完成编译测试打包发布等构建过程,可以大大提高开发效率,保证项目的质量。

                              

下面我们从几个方面来介绍一下MAVEN的功能特性

1.项目管理工具
        Maven不仅仅是一个构建工具,它还是一个项目管理工具。它通过
项目对象模型(Project Object Model,POM)来管理项目的构建、报告和文档。
2.依赖管理
        Maven的一个核心功能是
依赖管理。它允许开发者声明项目所依赖的库(如jar文件),Maven会自动下载这些依赖,并管理它们的版本。这样可以确保项目在不同的环境中有一致的依赖,减少了因依赖问题导致的错误。
3.构建生命周期
        Maven定义了项目的
构建生命周期,包括清理编译测试打包集成测试验证部署等阶段。每个阶段都由插件来执行特定的任务。
4.插件机制
        Maven本身不执行构建的具体操作,而是通过
插件来完成。插件是Maven的核心扩展点,用户可以通过添加或自定义插件来扩展Maven的功能。
5.多模块项目管理
        Maven支持多模块项目。这意味着一个大的项目可以被拆分成多个模块,每个模块都有自己的POM文件。Maven能够处理模块间的依赖关系,并协调它们的构建顺序。
6.标准和约定优于配置
        Maven鼓励使用标准和约定来减少配置的工作量。例如,它有一套标准的
项目目录结构,如果遵循这些标准和约定,很多配置就可以省略,简化了项目的搭建过程。
7.集成和扩展性
        Maven可以与其他工具和系统集成,如持续集成服务器(如Jenkins)、问题跟踪系统等。同时,它也支持自定义插件来满足特定的构建需求。
8.中央仓库
        Maven使用
中央仓库来存储依赖库。当Maven需要下载依赖时,它会首先从中央仓库查找。此外,Maven还支持设置镜像仓库和本地仓库,以优化下载速度和提高可靠性。

2.MAVEN的安装

1.下载MAVEN

(1)点击MAVEN官网,如图:

2.点击Download,下载适合自己的版本:

Windows用户选   apache-maven-3.9.8-bin.zip 这个就行了

3.解压刚刚下载的zip包:

2.配置环境变量

1.打开刚刚解压完的zip文件:

复制 apache-maven-3.9.8-bin的路径,我的是:

D:\apache-maven-3.9.8-bin\apache-maven-3.9.8

2.打开环境变量设置:“此电脑”鼠标右键→“属性”→高级系统设置

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

变量名填:

MAVEN_HOME

变量值是刚刚复制的路径(以你自己电脑的路径为准):

D:\apache-maven-3.9.8-bin\apache-maven-3.9.8

如图:

接着找到Path:

在②里填入:

%MAVEN_HOME%\bin

3.验证环境变量是否成功配置:

win+R运行cmd,输入mvn -version,如图所示则配置成功:

3.MAVEN的配置

1.配置本地仓库

本地仓库(Local Repository)在Maven中扮演着重要的角色,是Maven工作原理的一个关键部分
1. 缓存依赖:
   - 当第一次运行Maven命令来构建项目时,Maven会从远程仓库(如中央仓库)下载项目所依赖的库(jar文件)到本地仓库。这些依赖被缓存在本地仓库中,以便于未来的构建可以重用,不需要再次从远程仓库下载,节省时间。
2. 离线工作:
   - 如果没有网络连接或者远程仓库不可用,Maven可以从本地仓库获取依赖,可以在离线状态下构建项目。
3. 减少网络流量:
   - 由于依赖一旦下载就会存储在本地仓库中,因此在项目开发过程中,重复构建时不需要多次下载相同的依赖,减少网络流量和远程仓库的负载。
4. 自定义依赖管理:
   - 可以将自己的项目构件(如jar文件)安装到本地仓库中,这样其他项目就可以通过Maven依赖机制使用这些构件,方便了项目的共享和重用。
5. 版本控制:
   - 本地仓库会存储不同版本的依赖,可以轻松地在项目中切换依赖的版本,不用担心其他项目的干扰。
6. 提高构建速度:
   - 本地仓库通常位于本地硬盘上,访问速度远快于远程仓库,可以显著提高项目构建的速度。
8. 自定义仓库配置:
   - 可以配置多个本地仓库,例如,为不同的项目或不同的环境设置不同的本地仓库,以更好地管理依赖。

下面来详细介绍配置本地仓库的过程:

1.找到之前解压的MAVEN文件,新建一个 MAVEN—local repository 文件夹作为本地的仓库,如下图:

2.在 D:\apache-maven-3.9.8-bin\apache-maven-3.9.8 下找到conf文件夹,打开,找到settings.xml文件:

以记事本形式打开这个setting.xml文件,可以改成txt后缀再打开,改完记得改回xml后缀

3.找到 localRepository 节点,在注释外添加:

<localRepository>D:\apache-maven-3.9.8-bin\MAVEN—local repository</localRepository>

注意,<localRepository>这里填你自己刚刚新建的本地仓库文件路径</localRepository>

如图:

改完后再次确认:

2.配置阿里云服务器镜像

国外的服务器下载jar包很慢,所以我们需要将其改为国内的阿里云服务器

下面介绍修改步骤:

1.同样的,在之前这个 settings.xml  文件中找到 mirrors 节点


2.将下面的内容复制粘贴进去:

<!-- 阿里云仓库 -->
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

如图:

3.配置JDK

1.同样的,在之前这个 settings.xml  文件中找到 profiles 节点:

2.将下面的内容复制粘贴进去:

<!-- java版本 --> 
<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
</profile>

如图:

保存退出

3.查看是否配置成功,win+R快捷键运行cmd,输入 mvn help:system 测试:

如果出现下载很多文件的页面,说明您配置成功啦!!!

如果您第一次执行 mvn help:system 命令,Maven相关工具会自动到Maven中央仓库下载缺失的或者Maven中央仓库更新的各种配置文件和类库(jar包)到Maven本地仓库中。
下载完各种文件后, mvn help:system 命令会打印出所有的Java系统属性和环境变量:

到这里,所有的配置就大功告成了!!!恭喜您

相关文章:

  • ArcGIS图斑分区(组)排序—从上到下从左到右
  • 基于matlab的BP神经网络分类预测
  • 认识微服务
  • Excel 如何复制单元格而不换行
  • 什么是深度神经网络?与深度学习、机器学习、人工智能的关系是什么?
  • NeRF从入门到放弃5: Neurad代码实现细节
  • 大电流与小电流在检测原理上有区别吗
  • 1.1 数据采集总览
  • 山东大学软件学院深度学习期末回忆版
  • css布局之flex应用
  • VeloView操作:pcap数据转csv数据
  • 红队内网攻防渗透:内网渗透之内网对抗:网络通讯篇防火墙组策略入站和出站规则单层双层C2正反向上线解决方案
  • 我国人工智能核心产业规模近6000亿元
  • Nginx负载均衡之Memcached缓存模块
  • #APPINVENTOR学习记录
  • (三)从jvm层面了解线程的启动和停止
  • 【mysql】环境安装、服务启动、密码设置
  • isset在php5.6-和php7.0+的一些差异
  • Java 网络编程(2):UDP 的使用
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • React组件设计模式(一)
  • session共享问题解决方案
  • Terraform入门 - 3. 变更基础设施
  • vue-router 实现分析
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 说说动画卡顿的解决方案
  • 优秀架构师必须掌握的架构思维
  • !$boo在php中什么意思,php前戏
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $forceUpdate()函数
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (独孤九剑)--文件系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (七)glDrawArry绘制
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (四)汇编语言——简单程序
  • (已解决)vscode如何选择python解释器
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .describe() python_Python-Win32com-Excel
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .Net MVC4 上传大文件,并保存表单
  • .NET MVC第五章、模型绑定获取表单数据
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...