(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系统属性和环境变量:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/735522.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

字节跳动:从梦想之芽到参天大树

字节跳动掌舵人&#xff1a;张一鸣 2012年&#xff1a;梦想的起点&#xff1a;在一个阳光明媚的早晨&#xff0c;北京的一座普通公寓里&#xff0c;一位名叫张一鸣的年轻人坐在电脑前&#xff0c;眼中闪烁着坚定的光芒。他的心中有一个梦想——通过技术改变世界&#xff0c;让…

PHP米表域名出售管理源码带后台

源码介绍 html5米表源码PHP域名销售程序安装方法&#xff1a; 本站已测试,各项功能正常,功能易用,不复杂,非常适合个人米表使用 1、所有文件传至网站目录 2、浏览器执行http://你的访问网址/install 3、输入mysql帐号及密码信息&#xff0c;提交安装 源码截图 源码下载 …

【2024最新版】Java JDK安装配置全攻略:图文详解

目录 1. 引言2. 准备工作2.1 **确定操作系统**2.2 **检查系统要求**2.3 **下载JDK安装包**3. 安装步骤&#xff08;以Windows系统为例&#xff09;4. 配置环境变量4.1 jdk配置验证4.2 **配置JAVA_HOME环境变量**4.3 **配置Path环境变量**4.4 验证jdk是否配置成功 5. 结语 1. 引…

轻松重命名Windows用户Users目录下的文件夹名称

设置系统还原点 为避免设置失败&#xff0c;需提前准备好系统还原点以备份恢复系统。 打开系统属性&#xff1a; 在“系统保护”选项卡中&#xff0c;选择你想要保护的系统驱动器&#xff08;通常是C:驱动器&#xff09;。 点击“配置”按钮。 在弹出的窗口中&#xff0c;选…

opencascade AIS_InteractiveContext源码学习1 object display management 对象显示管理

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…

20240623 每日AI必读资讯

&#x1f916;原生鸿蒙AI浓度要爆表了&#xff01; - 一年一度华为开发者大会上&#xff0c;余承东首次揭秘“鸿蒙原生智能”Harmony Intelligence&#xff01; - 华为小艺进化成系统级智能体。 - 一句话实现跨多个应用的规划和任务执行&#xff1b;在第三方APP上随意处理文…

NSIS 入门教程 (三)

引言 在教程的第二部分中&#xff0c;我们为安装程序增加了一个卸载程序&#xff0c;并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观&#xff0c;我们要启用现代用户界面。要提…

java基于ssm+jsp 社区疫情防控管理信息系统

1前台首页功能模块 社区疫情防控管理信息系统&#xff0c;在社区疫情防控管理信息系统可以查看首页、物品信息、论坛信息、新闻资讯、我的、跳转到后台等内容&#xff0c;如图1所示。 图1系统首页界面图 用户登录、用户注册&#xff0c;通过注册填写账号、密码、姓名、身份证、…

supOS浅度集成

一、浅度集成介绍 浅度集成是根据项目或者演示要求而做的集成工作&#xff0c;通过接入supOS的单点登录&#xff0c;UI调整&#xff0c;菜单栏的集成&#xff0c;从而达到客户使用supOS平台来使用各个应用的能力。 二、浅度集成的作用 通过较少的研发投入使APP应用浅度融入到…

密码学-密码协议之零知识证明

一、前言 零知识证明实际上一种密码协议&#xff0c;该协议的一方称为证明者(Prover)&#xff0c;通常用P表示&#xff0c;协议的另一方是验证者(Verifier)&#xff0c;一般用V表示。零知识证明是指P试图使V相信某个论断是正确的&#xff0c;但却不向V提供任何有用的信息&…

随记:内卷是什么意思?

内卷&#xff0c;网络流行语&#xff0c;原指一类文化模式达到了某种最终的形态以后&#xff0c;既没有办法稳定下来&#xff0c;也没有办法转变为新的形态&#xff0c;而只能不断地在内部变得更加复杂的现象。经网络流传&#xff0c;很多高等学校学生用其来指代非理性的内部竞…

UsersGUI.java用户界面

完成效果图&#xff1a; 点击阅读按钮&#xff1a; 点击删除按钮&#xff1a; 点击新建按钮&#xff1a; Code /* This GUI application allows users to manage their diaries: ​ Read: Users can read existing diaries. Create: Users can create new diaries. Delete: Us…

2024 年值得推荐的 10 款 iPhone 数据恢复软件

iPhone 从来都不是一个简单的打电话电话。它就像一台微型电脑&#xff0c;让我们互相联系、拍照、拍视频、发邮件、看文档、看书。然而&#xff0c;随着它成为日常生活的必需品&#xff0c;我们总是容易因各种原因丢失数据&#xff0c;如删除、恢复出厂设置、iOS 错误、文件同步…

基于Vue3.0 Node.js 的 大文件切片上传、秒传、断点续传实现方案梳理

✨&#x1f4bb; 在处理大文件上传时&#xff0c;切片上传是提高效率与用户体验的关键技术之一。下面将详细介绍如何在前端利用Vue框架与Node.js后端配合&#xff0c;实现这一功能。 &#x1f446;&#x1f3fb;大体流程 &#x1f446;&#x1f3fb;一、文件切片上传 通过文件…

HTML静态网页成品作业(HTML+CSS)——故宫介绍网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

ubuntu 22.04下利用webmin 搭建一个Wordpress 网站(2)

上次我们讲到第二部分&#xff0c;今天我们继续这一个话题 第三部分&#xff1a;利用webmin创建一个wordpress网站 1、在 Webmin 内安裝Apache 未使用的模块> Apache Webserver > 现在安装 会出现如下图所示的有关软件 刷新模快后 检查开机时要自动启动Apache 测…

TI毫米波雷达可以用串口调试助理来获取原始数据吗?

摘要&#xff1a;本文介绍一下如何使用普通的串口调试助理来读取到AWR1843毫米波雷达的数据的。 使用的硬件如下图所示。 软件就是普通的串口助理&#xff0c;我用的是SSCOM&#xff0c;其他串口助理也是可以的&#xff0c;核心作用其实就是发送一行行的指令而已。 操作方法&am…

HTML(18)——浮动

标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的排布规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个 浮动 作用&#xff1a;让块级元素水平排列 属性名&#xff1a;float 属性值 left&#xff1a;左对齐right&#…

Google trend搜索关键词

Google trend地址&#xff1a;https://trends.google.com/trends/?geoUS&hlzh-CN 1、具体的操作步骤如下&#xff1a; 2、Google trend搜索页面如下&#xff1a;