Maven安装教程讲解

news2024/12/23 7:18:46

目录

    • 一、下载安装JDK
    • 二、下载 Maven
    • 三、配置 Maven 环境变量
    • 四、配置 Maven 仓库地址
    • 五、配置 Maven 镜像
    • 六、配置 Maven JDK
    • 七、IDE配置 Maven
    • 八、IDE新建 Maven 项目
    • 九、IDE执行 Maven 命令

一、下载安装JDK

教程:https://blog.csdn.net/weixin_43888891/article/details/128623236?spm=1001.2014.3001.5501

二、下载 Maven

Maven是一个基于 Java 的项目管理工具,因此最基本的要求是在计算机上安装 JDK。

Maven 对系统要求如下表(如下是官网提出的要求):

在这里插入图片描述

官网下载地址:https://archive.apache.org/dist/maven/maven-3/

目前最新最稳定的版本是3.8.7,下一版本是4.0.0,目前4.0.0已经在内部测试版。这里我选择的是下载3.8.2版本,因为我的ider用的是2020 03版本,和3.8.7版本的maven不兼容,ide配置maven后下载jar包什么的会出各种问题,这个我是亲自试验过的! 如果您是要的ider版本高,可以尝试使用最新版本!

下载的话我们肯定是要下载编译好的,然后windows就下载zip即可,linux下载tar!

虽然下载内容不大但是有时候下载的特别慢,这里我下载好了一些windows版编译好的一个包:

3.6.3版本链接:https://pan.baidu.com/s/1KEhW6VAVxGWvuV5XdcwfsA
提取码:x7p4

3.8.2版本链接:https://pan.baidu.com/s/1IU6eiBAiTR4HttAQfIm-og
提取码:kdbe

3.8.7版本链接:https://pan.baidu.com/s/1KN-3__fZ_jC_NbEf1p13kA
提取码:o28y

下载好后就是一个zip,我们直接解压即可,都不需要安装,我们只需要配置一下环境变量就可以使用了!

三、配置 Maven 环境变量

(1)我的电脑–》右键属性–》高级系统设置–》环境变量
(2)系统变量–》新建系统变量–》完成后点击确定

变量名:MAVEN_HOME
变量值:D:\maven\apache-maven-3.8.7(这是你自己安装JDK时的路径)
作用:定义一个变量,供其他地方使用

(3)双击系统变量下的PATH变量,新建:%MAVEN_HOME%\bin

这里的MAVEN_HOME就是我们上面所配置的变量,我们正常使用cmd黑框框命令的时候,他其实就是会去PATH当中寻找,找对应的应用执行命令。

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

在这里插入图片描述

四、配置 Maven 仓库地址

Maven默认存储Jar包的地址是C:\%USER_HOME%\.m2\repository,其实maven并占不了多少内存,但是maven本地仓库就比较占用内存了,相当于是我们配置xml坐标,然后maven根据坐标通过网络从中央仓库将jar包下载到我们本地,下载到本地存储jar包的地址我们可以称他为本地仓库,这个地址我们可以自己指定的。

所谓的中央仓库就好比是一个网络云盘,里面存储了各种各样的jar包,需要下载什么直接下载即可。之所以叫中央,就是所有人皆可使用。

修改 %MAVEN_HOME%\conf 目录下的 settings.xml 文件,通过 localRepository 元素定义另一个本地仓库地址,例如:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>D:\maven_repository\repository</localRepository>
</settings>

构件只有储存在本地仓库中,才能被其他的 Maven 项目使用。构件想要进入本地仓库,除了从远程仓库下载到本地仓库外,还可以使用命令 mvn install 将本地项目的输出构件安装到本地仓库中。

五、配置 Maven 镜像

Maven默认下载是从Maven当中的中央仓库,但是中央仓库是国外的相对来说下载的比较慢,往往我们会通过镜像来更快的下载。

什么是镜像?

如果一个仓库 A 可以提供另一个仓库 B 的所有内容,那么就可以认为仓库 A 是仓库 B 的一个镜像。即仓库 B 中的任何一个构件都能从它的镜像中获取。

配置 Maven 镜像的方法也非常的简单,我们只需要在 Maven 安装目录中 setting.xml 文件的 mirrors 节点中,使用 mirror 标签添加镜像的相关信息即可。

目前国内使用最多,最稳定的中央仓库镜像分别是由阿里云和华为云提供的,它们的地址配置如下。

阿里云镜像地址:

<mirror>
    <id>aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

华为云镜像地址:

<mirror>
    <id>huaweicloud</id>
    <name>mirror from maven huaweicloud</name>
    <mirrorOf>central</mirrorOf>
    <url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>

在这里插入图片描述

以上配置中,mirrorOf 的取值为 central,表示该配置为中央仓库的镜像,所有对于中央仓库的请求都会转到该镜像。当然,我们也可以使用以上方式配置其他仓库的镜像。另外三个元素 id、name 和 url 分别表示镜像的唯一标识、名称和地址。

六、配置 Maven JDK

在settings.xml配置文件中找到profiles节点,添加如下配置:

<profiles>
	<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>
</profiles>

springboot项目当中应该都用过profile根据环境区分配置,maven的settings配置当中也是如此,上面的配置就是指的是在JDK1.8的情况下激活下面配置,这样我们项目当中就不用再去指定jdk版本了。

七、IDE配置 Maven

配置ide的全局maven:我使用的是2020-3版本,不同的版本可能配置所在的位置不一样,但是都是存在这个配置的!

上面页面是ide的欢迎页面,初学者很容易找不到那个页面,其实点击close project之后就可以回到ide的欢迎页面!

使用软件时我们经常要自定义一些配置,如:快捷键、配色、代码格式等。如果重装了软件,或者换了电脑,再重新设置会很麻烦,直接导入配置的话会很方便!

打开一个项目=> File=> Manage IDE Settings=> Export Settings

在上面当中就存在导入全局配置!下面这种图就是可以导出配置!

这个配置是配置单独项目的,上面的是全局的配置,所谓全局的配置也就是一旦配置好了,再创建项目都将是使用该配置!

推荐配置:设置maven在不联网的情况下使用本地插件

一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网路的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。

输入内容:-DarchetypeCatalog=internal

八、IDE新建 Maven 项目

  1. 在 IntelliJ IDEA 欢迎页面左侧选择 Project ,然后在右侧选择 New Project,如下图。

或者在 IntelliJ IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单中中选中 New,然后选择 Project,如下图。

  1. 在左侧的选项中选择 Maven,勾选 Create from archetype 选项,然后在下面选择合适的 Maven Archetype(模型),最后点击下方的 Next 按钮,如下图。

注意:此处我们也可以不勾选 Create from archetype 选项,直接点击下方的 Next 按钮,来直接创建一个简单的 Maven 项目。

展开 Artifact Coordinates ,分别输入项目名称(name)、存储位置(Location)、GroupId、ArtifactId 以及 Version 等信息,信息输入完成后,点击 Next 按钮。

在该页面可以设置 Maven 的主目录和本地仓库信息,除此之外,我们还可以在下面的属性(Properties)列表中,检查和修改项目的信息。配置完成后,点击 Finish 按钮,完成项目的创建。

九、IDE执行 Maven 命令

在工作区的最右侧,IntelliJ IDEA 为我们提供了一个十分实用的窗口:Maven 工具窗口,通过它我们几乎可以完成所有与 Maven 相关的操作。

在这里插入图片描述

在 Maven 工具窗口中,我们可以通过以下几种方式中执行 Maven 命令:

  • 使用 Run Anything 窗口
  • 使用 Maven 工具窗口的上下文菜单
  • 为一个或一组 Maven 目标创建运行配置。
  • 在控制台执行命令

(1)在 Maven 工具窗口的工具栏上,点击“m”按钮,或在 IntelliJ IDEA 中连续两次按下 Ctrl 键,即可打开 Run Anything 窗口,如图所示。

在 Run Anything 窗口输入或选择下方列表中 Maven 目标,回车即可执行。

如果一个项目包含多个模块,且需要在特定的模块中执行 Maven 目标,则需要在 Run Anything 窗口右上角从“Project”列表中切换到所需的模块,然后再执行的 Maven 目标执行。

(2)使用上下文菜单,在 Maven 工具窗口,点击项目名下面的 LifeCycle,如图所示。

(3)通过运行配置执行 Maven 目标

  1. 在 Maven 工具窗口,点击项目名下面的 LifeCycle。
  2. 按住 Ctrl 键同时选择一个或多个 Maven 目标,然后单击鼠标右键,在下拉菜单中选择 Create Run Configuration… 或者 Modify Run Configuration… ,如下图所示。
  1. 在创建运行配置窗口,我们可以为 Maven 目标指定 Maven 命令和参数等,设置完成后,点击 OK 按钮保存该运行配置,如下图所示。
  1. 配置完成后,在 Maven 工具窗口下自动生成了一个 Run Configurations 节点,再该节点下可以看到运行配置列表,如下图所示。
  1. 在运行配置列表中,双击目标,或右键点击该目标然从上下文菜单中选择 Run,即可运行该目标。

在这里插入图片描述
(4)在Terminal控制台执行命令

在这里插入图片描述

//常用maven命令

mvn -v //查看版本
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //进行打包
mvn clean test //执行单元测试
mvn clean deploy //部署到版本仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息

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

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

相关文章

【阶段四】Python深度学习09篇:深度学习项目实战:循环神经网络处理时序数据项目实战:CNN和RNN组合模型

本篇的思维导图: 项目背景 时间序列数据集中的所有数据都伴随着一个时戳,比如股票、天气数据。这个数据集,是科学家们多年间用开普勒天文望远镜观察并记录下来的银河系中的一些恒星的亮度。广袤的宇宙,浩瀚的星空在过去很长一段时间里,人类是没有办法证明系外行星…

关于一次python服务性能的问题分析定位

今天项目遇到一个比较棘手的问题&#xff0c;我们做的接口平台&#xff0c;提供了一个给用户自己编辑关键字的逻辑&#xff0c;发现对应服务的cpu基本都满了&#xff0c;并且通过扩容的方式也没有好转&#xff0c;也同样被打满。 找了测试的同学了解了下&#xff0c;发现他们使…

Enterprise JavaBean 简介

Enterprise JavaBean 简介 在顶层我们使用的框架是面向服务的&#xff0c;而在其之下的开发方法面向组件&#xff0c;最基层的便是面向对象面向过程的JAVA编程。 面向过程和面向对象是两种具体程序设计时的编程范式&#xff0c;他们没有本质区别&#xff0c;只是使用不同的方…

【Linux】Linux命令行git和Linux调试器-gdb的使用

文章目录一、Linux命令行git1. git是什么2. Gitee上创建仓库&#xff0c;克隆仓库到本地3. git三板斧二、Linux调试器-gdb的使用1. debug和release的区别2. 常用命令一、Linux命令行git 1. git是什么 git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很…

分享52个Java源码,总有一款适合您

Java源码 分享52个Java源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c;大家下载后可以看到。 源码下载链接&#xff1a;https://pan.baidu.com/s/1YpNL5QWwQ18Y-KRmFHFs5g?pwdqc8w …

吴恩达机器学习课程笔记:监督学习、无监督学习

1.吴恩达机器学习课程笔记&#xff1a;监督学习、无监督学习 吴恩达机器学习系列课程&#xff1a;监督学习 吴恩达机器学习系列课程&#xff1a;无监督学习 仅作为个人学习笔记&#xff0c;若各位大佬发现错误请指正 机器学习的学习算法&#xff1a;监督学习、无监督学习、半…

1591_AURIX_TC275_PMU_Flash的保护

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 可以支持保护功能的Flash是前面文档中呼出来的几块&#xff0c;其中DFlash由于多模块公用&#xff0c;还有具体的拆分。PFlash可以进行两方面的保护&#xff0c;一个是错误的读取方式保护&…

python列表(list)底层实现

list Python内存管理中的基石 Python中所有类型创建对象时&#xff0c;底层都是与PyObject和PyVarObject结构体实现&#xff0c;一般情况下由单个元素组成对象内部会使用PyObject结构体&#xff08;float&#xff09;、由多个元素组成的对象内部会使用PyVarObject结构体 2个…

应用层——电子邮件(SMTP、POP3、IMAP)

目录 1. 电子邮件系统及组成结构 1.1 电子邮件 1.2 电子邮件系统的组件 2. SMTP(邮件发送协议) 2.1 SMTP的特征 2.2 SMTP的基本操作 2.3 SMTP协议的基本流程 2.4 SMTP交互与应答 2.5 SMTP与HTTP的对比 3. 邮件报文格式与MIME 3.1 电子邮件格式 3.2 多用途网际…

STM32时钟系统原理和作用

时钟对于单片机来讲类似于心脏对于人体&#xff0c;单片机通过时钟信号控制单片机工作。 1.时钟系统工作流程 时钟源输入----被分频或倍频----输出至系统/外设/外部接口 2.时钟分类 RC时钟精度低&#xff0c;体积小&#xff0c; OSC时钟精度高&#xff0c;体积大。 3.部分…

5.多层感知机

5.多层感知机 目录 感知机 基本内容训练感知机感知机存在的问题总结 多层感知机 隐藏层 单隐藏层-单分类 激活函数 ReLU函数sigmoid函数tanh函数总结 多类分类 多层感知机的从零开始实现 初始化模型参数激活函数模型损失函数训练 多层感知机的简洁实现 模型模型选择、欠拟合和…

⭐基于unity物体移动的方法API的总结-GIF图文详解⭐

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏 unity常用API ⭐相关文章&#xff1a; 线性差值函数以及平滑阻尼的运用和实践&#xff08;Lerp AND SmoothDa…

文献阅读:Towards Out-of-Distribution Sequential Event Prediction:A Causal Treatment

文献阅读&#xff1a;Towards Out-of-Distribution Sequential Event Prediction&#xff1a;A Causal Treatment 1. 问题描述2. 方法 & 模型设计 1. loss定义2. 模型设计 3. 实验 & 结果 1. 基础实验2. CaseQ策略细节分析 4. 结论 & 总结 文献链接&#xff1a;ht…

GDB调试学习

文章目录简介准备工作常用命令简介 ​GDB 全称“GNU symbolic debugger”&#xff0c;它诞生于 GNU 计划&#xff08;同时诞生的还有 GCC、Emacs 等&#xff09;&#xff0c;是 Linux 下常用的程序调试器。发展至今&#xff0c;GDB 已经迭代了诸多个版本&#xff0c;当下的 GD…

五个了解自己天赋优势的分析工具(二)盖洛普优势测评

盖洛普优势测评 盖洛普优势识别器&#xff08;也叫克利夫顿优势评估&#xff09;&#xff0c;是盖洛普公司旗下⼀款王牌产品&#xff0c;是⼀个专⻔⽤来识别⼀个⼈隐形天赋、潜在优势、驱动⼒来源的⼯具&#xff0c;它可以帮助⼀个⼈科学认识⾃⼰。 它把⼈的思维⽅式、感受形…

网络初识

一些基本概念认识IP地址概念&#xff1a;IP地址用于定位主机的网络地址&#xff0c;标识了网络上设备所在的位置。也就是说主机在哪。格式&#xff1a;IP地址是一个32位的二进制数&#xff0c;通常被分割为4个字节。通常我们使用“点分十进制”的方式来表示主机的IP地址——>…

2.2 SQL入门和实战

文章目录数据库介绍MySQL的入门应用SQL的基础与DDLSQL的分类&#xff1a;SQL的基础语法特性&#xff1a;DDL库管理&#xff1a;DDL表管理&#xff1a;SQL-DMLSQL-DQLDQL基础查询DQL分组聚合排序分页Python&MySQLcommit数据库介绍 数据库的层级&#xff1a;按照库->表-&…

WAL Write AheadLog

WAL即 Write Ahead Log&#xff0c;WAL的主要意思是说在将元数据的变更操作写入磁盘之前&#xff0c;先预先写入到一个log文件中 磁盘读取分为顺序读取和随机读取 内存读取也有顺序读取和随机读取 下图是磁盘&#xff0c;内存 顺序和随机读取的效率表 一般来说内存读取速度要…

硬件设计基础 —— 电流、电压、功率

目录 电流的形成 原子的结构 原子核与电子 电子的移动 电流的测量 电子的运动形成电流 电压的作用 功率 电流的形成 原子的结构 上图为原子结构示意图中间带正电的称为原子核带负电荷的电子围绕在他周围旋转原子核与电子 电子离原子核越远&#xff0c;外围电子越少&…

Cadence PCB仿真使用Allegro PCB SI进行数字电路毛刺容差设置的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1, 概述2,配置方法3,总结1, 概述 数字信号的波形往往不是完美的低和高电平,经常会有一些毛刺。这在信号完整性仿真中也经常遇到,为了保证仿真顺利进行需要对接收电路的毛刺容差进行设置。本文简单介绍其配置方法。…