Maven下载安装及其配置

news2024/10/7 19:21:26

Maven下载安装及其配置

文章目录

  • Maven下载安装及其配置
    • 1、Maven介绍
    • 2、Maven下载安装
      • 2.1、最新
      • 2.2、旧版3.8
    • 3、Maven环境配置
      • 3.1、配置
      • 3.2、验证
      • 3.3、 配置本地仓库
    • 4、Maven使用
      • 4.1、Maven常用命令
      • 4.2、IDEA中的使用

1、Maven介绍

在这里插入图片描述

Maven 是一个流行的构建工具和依赖管理工具,用于管理 Java 项目的构建、发布和依赖。它提供了一个标准化的项目结构、构建生命周期和插件体系,使开发人员能够更轻松地构建和管理复杂的 Java 项目。

下面是 Maven 的一些关键概念:

  1. 项目对象模型(Project Object Model,POM):Maven 项目的核心是一个名为 POM 的 XML 文件。POM 文件描述了项目的元数据、依赖关系、构建配置和插件等信息。

  2. 依赖管理:Maven 可以自动下载和管理项目所需的依赖库。通过在 POM 文件中声明依赖关系,Maven 能够从中央仓库或其他远程仓库获取所需的依赖,并自动解决依赖冲突。

  3. 构建生命周期:Maven 定义了一组标准的构建阶段,称为构建生命周期。这些生命周期包括清理、编译、测试、打包、部署等阶段,开发人员可以通过执行特定的构建命令来触发这些阶段。

  4. 插件:Maven 的插件系统提供了丰富的功能扩展机制。插件可以用于执行特定的构建任务,例如编译代码、运行测试、生成文档等。Maven 本身提供了许多常用的插件,同时也支持自定义插件开发。

  5. 仓库管理:Maven 使用仓库来存储构建所需的依赖库和插件。它包括本地仓库和远程仓库两种类型。本地仓库位于开发者的本地计算机上,用于存储已下载的依赖库和插件。远程仓库可以是中央仓库或其他自定义的远程仓库,用于获取项目的依赖库和插件。

Maven 的使用步骤通常包括以下几个方面:

  1. 安装 Maven:首先需要在计算机上安装 Maven,下载并安装 Maven 发行版,并设置相应的环境变量。

  2. 创建项目:使用 Maven 的命令行工具或 Maven 集成开发环境(IDE)插件创建一个新的 Maven 项目。这将生成一个包含 POM 文件的项目目录结构。

  3. 编辑 POM 文件:根据项目的需求编辑 POM 文件,包括添加依赖、配置构建插件和设置其他项目信息。

  4. 构建项目:在项目目录中执行 Maven 命令,如 mvn clean install。这将触发 Maven 的构建生命周期,执行相应的构建阶段和插件任务,例如编译源

2、Maven下载安装

进入官网:https://maven.apache.org/download.cgi
可以下载最新版,但是推荐下载3.8版本的,使用的更多

2.1、最新

【本博文发布时对应最新是3.9.3】,如果下载最新版就直接下载就行。
在这里插入图片描述

2.2、旧版3.8

下滑页面:找到Maven 3 archives Maven 3 的更多版本
我的Maven版本是3.8.5,按需下载即可,以3.8.5为例
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

点击下载安装包即可
安装包解压到指定路径【注意最好没有中文】,我本人的就是D盘,Maven文件夹下,
同时,Maven文件夹下新建一个仓库名称【jarwarehouse】,自定义就行,但是自己得清楚是什么!!!
在这里插入图片描述
下载后大概是这样【可能会有区别,问题不大】
在这里插入图片描述

3、Maven环境配置

3.1、配置

我的电脑/此电脑 --》右键属性 --》高级系统设置 --》环境变量 --》系统变量 --》新建 --》确定/保存
或者win11系统:设置 --》系统信息 --》高级系统设置 --》环境变量 --》系统变量 --》新建 --》确定/保存

  • 变量名是MAVEN_HOME
  • 变量值是Maven的安装路径
    在这里插入图片描述
    下滑找到Path,双击进入,然后新建。
    在这里插入图片描述

新建内容填写:%MAVEN_HOME%\bin
按我截图的填也行,我是这样填的
在这里插入图片描述

3.2、验证

win + R,输入cmd打开命令行窗口(dos窗口),输入命令验证Maven下载配置是否正确

mvn -version

在这里插入图片描述

3.3、 配置本地仓库

上面已经建过仓库的文件夹【jarwarehouse】
1、打开apache-maven-3.8.5目录下的 conf/settings.xml 文件
在这里插入图片描述/2、2、加入代码

<localRepository>D:/Maven/jarwarehouse</localRepository>

在这里插入图片描述3、配置阿里云远程仓库,提高访问效率

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

建议使用Notepad++或者Sublime编辑器查看,更好区分
在这里插入图片描述

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

输入命令:mvn help:system

我的文件夹里面包很多,因为Maven安装距离现在挺长时间的,自己学习和做项目下载了更多的包,首次输入命令和最开始下载解压缩比较是会增加文件夹的

在这里插入图片描述

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

在这里插入图片描述

4、Maven使用

4.1、Maven常用命令

Maven 提供了许多常用的命令,以下是一些常见的 Maven 命令及其功能:

  1. mvn clean: 清理项目,删除生成的目标文件和构建产物。

  2. mvn compile: 编译项目源代码。

  3. mvn test: 运行项目的测试代码。

  4. mvn package: 打包项目,将编译后的代码打包成可部署的格式,如 JAR、WAR 或 EAR。

  5. mvn install: 将项目构建结果安装到本地仓库,以供其他项目使用。

  6. mvn deploy: 将项目构建结果发布到远程仓库,以供其他开发人员或项目使用。

  7. mvn clean install: 执行清理操作并安装项目到本地仓库。

  8. mvn clean package: 执行清理操作并打包项目。

  9. mvn clean test: 执行清理操作并运行项目的测试。

  10. mvn clean compile: 执行清理操作并编译项目源代码。

  11. mvn dependency:tree: 显示项目依赖树,包括所有直接和间接依赖的详细信息。

  12. mvn dependency:resolve: 解析项目依赖,下载并安装项目所需的依赖库。

  13. mvn dependency:purge-local-repository: 清理本地仓库中的所有依赖,以便重新下载。

  14. mvn clean install -DskipTests: 执行清理操作、安装项目,并跳过运行测试。

这只是一些常见的 Maven 命令示例,Maven 还有许多其他命令和插件可用,可以根据项目的需求和具体情况选择适当的命令来执行相应的构建、测试、依赖管理等任务。可以通过运行 mvn --help 命令或参考 Maven 文档来获取更详细的命令列表和说明。

4.2、IDEA中的使用

1、在设置中引入仓库和配置文件
在这里插入图片描述
2、在项目pom.xml文件中引入依赖进行使用
相关依赖可在此网站搜索使用:Maven依赖
在这里插入图片描述

3、可视化工具便宜使用
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Excel和PowerPoint设计24小时甘特图

1.前期调研 可以使用Project软件、在线甘特图MindsUP等来设计&#xff0c;可是我的需求是记录周边几个单位每天的开闭馆时间&#xff0c;而不是按照天、月等来记录项目周期。因此&#xff0c;这些软件不符合我的需求&#xff0c;必须用excel来设计。 2.excel录入数据 &#xf…

云时代已至,新一代数据分析平台是如何实现的?

2023 年 5 月&#xff0c;由 Stackoverflow 发起的 2023 年度开发者调查数据显示&#xff0c;PostgreSQL 已经超越 MySQL 位居第一&#xff0c;成为开发人员首选。PostgreSQL 在国内的热度也越来越高。6 月 17 日&#xff0c;PostgreSQL 数据库技术峰会在成都顺利召开。本次大会…

深入理解 Golang: 锁

本文通过对 Go 中源码层面的加锁、解锁实现细则来介绍锁的操作&#xff0c;包括 Mutex 互斥锁、RWMutex 读写锁&#xff0c;以及它们底层依赖的 sema 信号锁。 atomic 原子操作 正常情况下&#xff0c;多个协程同时操作 num 时&#xff0c;不能保证 num 值得最终一致性&#x…

锈湖新作地铁繁花试玩版正式上线啦

地铁繁花是锈湖厂商新作点击式解谜冒险解谜游戏&#xff0c;英文名称为“Underground Blossom”&#xff0c;在游戏中你将深入锈湖的地下&#xff0c;扮演并追溯Laura Vanderboom的人生和记忆吧&#xff01;从一个车站到另一个车站&#xff0c;每个地铁站都象征着劳拉的一段过去…

语音芯片WT2003H-B003,集成压力传感与语音提示的按摩器创新方案

​在如今追求健康、舒适生活方式的时代&#xff0c;压力传感技术与语音提示功能的结合正引领着按摩器行业的创新浪潮。WT2003H-B003语音芯片IC作为一款独具价值的语音芯片&#xff0c;以其集成了先进的压力传感算法和语音提示功能&#xff0c;为按摩器压感方案带来了全新的体验…

Selenium修改HTTP请求头三种方式

目录 什么是HTTP请求头 需要更改HTTP请求请求头 Selenium修改请求头 Java HTTP请求框架 代码实战 使用反向代理 使用 Firefox 扩展 下载火狐浏览器扩展 加载火狐扩展 设置扩展首选项 设置所需的功能 完整自动化用例 总结&#xff1a; 什么是HTTP请求头 HTTP请求头…

科普 | 什么是5G消息平台功能完备性认证,怎么才能获得5G消息平台功能完备性证书

5G消息平台功能完备性测试是由中国信息通信研究院同中国通信企业协会在5G消息工作组共同发起&#xff0c;旨在提升CSP的5G消息平台质量&#xff0c;促进5G消息业务发展。 测试针对5G消息平台的Chatbot下行消息交互、Chatbot接收消息、消息平台业务配置管理、消息平台业务统计管…

智能故障诊断的深度学习模型复杂度指标计算(MACs、Params)

引言: 对于智能故障诊断任务而言,受限于现场工业设备设施的算力,模型在轻量化上具有典型需求。因此,在保证模型精准性的同时尽量降低模型的复杂度是必要的,本博客对模型的复杂度概念进行了剖析,并在pytorch框架下对相关热门轻量级模型的复杂度评估进行了分析。 深度学习…

容智信息荣获2023第三届中国RPA+AI开发者大赛多项大奖

近日&#xff0c;历时数月的「2023第三届中国RPAAI开发者大赛」在苏州圆满收官。本次大赛由RPA中国联合全球人工智能产品应用博览会主办&#xff0c;容智信息作为顶级联合主办单位&#xff0c;主旨挖掘人才&#xff0c;促进RPA和AI技术在社会各领域的融合性应用。 这次大赛的主…

计算机网络————应用层

文章目录 概述域名系统DNS域名结构域名服务器解析过程常见的DNS记录DNS报文格式基础结构部分问题部分资源记录(RR, Resource Record)部分 万维网WWWURLHTTPHTTP发展HTTP报文结构请求报文响应报文 cookie 内容分发网络CDN 概述 应用层的具体内容就是规定应用进程在通信时所遵循的…

JS中常用内置对象

真正原创的东西很少&#xff0c;能抄明白就很不容易了 文章目录 数组常用方法❗push 数据增加到尾部并返回unshift 数据增加到头部并返回pop 删除最后一个数据并返回shift 删除第一个数据并返回sort 数组排序reverse 数组逆序concat 合并多个数组的数据并返回join 数据连接成字…

SpringBoot Thymeleaf企业级真实应用:使用Flying Saucer结合iText5将HTML界面数据转换为PDF输出(四) 表格中断问题

接上一篇 SpringBoot Thymeleaf企业级真实应用&#xff1a;使用Flying Saucer结合iText5将HTML界面数据转换为PDF输出(三) 给pdf加水印、页眉页脚、页眉logo 设置表格的css样式 table {/*分页时表格换行, 可不用, 使用表格行换行即可*//*page-break-before: always;*/border-…

QT简易加法计算器项目实现

完整代码见GitHub&#xff1a;点击进入 在该项目中&#xff0c;使用了三个文件&#xff0c;分别是CalculatorDialog.h, CalculatorDialog.cpp, main.cpp CalculatorDialog.h&#xff1a;在该头文件里定义了一些成员变量和槽函数&#xff0c;用于实现计算器基本功能。Calculator…

Springboot的自动装配解读

目录 1.Springboot的自动装配 1.1 组件装配 1.1.1 组件 1.2 Spring Framework 的模块装配 1.2.1 Import注解 1.2.2 BeanDefinition 1.3 Spring Framework 的条件装配 1.3.1 Profile 1.3.2 Conditional 1.3.3 MetaData元数据接口&#xff08;补充&#xff09; Annot…

4、离线数仓数据同步策略(全量表数据同步、增量表数据同步、首日同步、采集通道脚本)

1、离线数仓同步数据 1.1 用户行为数据同步 1.1.1 数据通道 用户行为数据由Flume从Kafka直接同步到HDFS&#xff0c;由于离线数仓采用Hive的分区表按天统计&#xff0c;所以目标路径要包含一层日期。具体数据流向如下图所示。 1.1.2 日志消费Flume配置概述 按照规划&…

【选择排序】手撕八大排序之直接选择排序和堆排序

目录 一.选择排序 1.直接选择排序 2.堆排序 一.选择排序 1.直接选择排序 选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法。它的基本思想是每次遍历找到最小&#xff08;或最大&#xff09;的元素&#xff0c;然后将其放置在已排序序列的末尾。在…

实操接口自动化测试项目之项分层设计

本文以笔者当前使用的自动化测试项目为例&#xff0c;浅谈分层设计的思路&#xff0c;不涉及到具体的代码细节和某个框架的实现原理&#xff0c;重点关注在分层前后的使用对比&#xff0c;可能会以一些伪代码为例来说明举例。 接口测试三要素&#xff1a; 参数构造发起请求&a…

JS 1.如何实现继承 2.原型和原型链

1_使用class实现继承 /** 继承 */ class Person { constructor(name) { this.name name;}drink() { console.log(喝水)} }class Student extends Person{ constructor(name, score) { // new Personsuper(name);this.score score;}introduce() { console.log(我是${this.nam…

EasyCVR播放设备录像出现部分视频不能播放的原因排查与解决

EasyCVR视频融合平台基于云边端协同架构&#xff0c;具有强大的数据接入、处理及分发能力。平台支持多协议接入&#xff0c;包括&#xff1a;国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等&#xff0c;对外可分发多格式视频流&#xff0c;包括RTSP、…

栈和队列(二) 队列的实现,用栈实现队列,用队列实现栈,设计循环队列

文章目录 队列的实现用队列实现栈用栈实现队列设计循环队列 队列的实现 这里的队列我们使用链式队列&#xff0c;好处就是可以很方便的取出队头的元素。 使用顺序队列取出队头元素所花费的时间复杂度为O&#xff08;N&#xff09;&#xff0c;把后面的元素向前移动一个下标所花…