Maven下载、安装与配置

news/2024/7/3 22:09:51/文章来源:https://www.cnblogs.com/z2024/p/18276535

下载 Maven

1、进入 Maven官方下载地址

2、点击 Download,再点击 Maven 3 archives,查看 3.x.x 版本的 Maven

下载Maven1

3、点击 3.9.6 文件夹(对应版本号),再点击 binaries 文件夹,点击下载 apache-maven-3.9.6-bin.zip

下载Maven2

binaries:可执行版,是已经编译好的版本

source:源代码版

tar.gz:Linux、Mac 系统安装包

zip:Windows 系统安装包

4、查看 IDEA 兼容 Maven 版本(兼容3.9.6及以前版本)

IDEA 兼容 Maven 版本

安装 Maven

1、将下载好的 Maven 压缩包解压到指定目录即可

安装Maven1

配置环境变量

1、点击此电脑,点击右键,点击属性,点击高级系统设置,点击环境变量

2、在系统变量中,新建 MAVEN_HOME 系统变量,变量值为 Maven 安装路径,点击确定

配置Maven1

3、在系统变量中,找到 Path 变量,点击编辑,新建 %MAVEN_HOME%\bin,点击确定(全部确定)

配置Maven2

4、打开 cmd,输入 mvn -v,查看 Maven 版本 (安装成功)

配置本地仓库

1、仓库是 Maven 下载的 jar 存放的地方,在指定目录新建 repo 文件夹

配置Maven3

2、打开 Maven 的 conf 目录下的 settings.xml 文件(可以用 Notepad++ 打开)

配置Maven4

3、在原 localRepository 注释的下方,添加本地仓库设置,路径为 repo 文件夹路径,保存

<!-- 设置本地仓库位置 -->
<localRepository>D:\working\repo</localRepository>

配置Maven5

配置远程仓库

1、Maven 本身的中央仓库在国外,下载 jar 很慢,所以改为国内的镜像仓库(也可以是私服仓库)

仓库优先级为:本地仓库 > setting.xml 中的 repositories 仓库 > pom.xml 中的 repositories 仓库 > mirrors 镜像

mirror 会重新设置对应 repositories 仓库中的 url

2、阿里云仓库

<!-- 阿里云仓库 -->
<mirror><id>aliyun</id><!-- *:表示所有仓库(repositories 中配置的仓库)都使用这个 mirror 的 url 作为 jar 包下载地址 --><!-- mirrorOf 设置为 repository 的 id,为指定仓库设置 url,maven 默认包含了中央仓库 central --><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name> <!-- name 随便起 --><url>https://maven.aliyun.com/repository/public</url>
</mirror>

配置Maven6

3、腾讯云仓库,可以点击文档查看使用方式

<!-- 腾讯云仓库 -->
<mirror><id>tencentyun</id><mirrorOf>*</mirrorOf><name>腾讯云公共仓库</name><url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>

配置Maven7

4、单个镜像仓库,在 setting.xml 文件 mirrors 标签处,将原有的配置改为如下配置:

配置Maven8

5、多个镜像仓库,在 profiles 中使用 profile 配置,多个仓库配置多个 profile。也可以在一个 profile 的 repositories 中配置多个 repository,如下示例:

<profile><id>aliyun</id><repositories><repository><id>aliyunmaven</id> <!-- 仓库id,供 mirrorOf 使用,随便起。实际上通过 profile 配置,不会再添加 mirror 配置 --><name>阿里云公共仓库</name> <!-- 仓库名称,随便起 --><url>https://maven.aliyun.com/repository/public</url> <!-- 仓库url地址 --><releases> <!-- 库中版本为releases的构件,稳定版本 --><enabled>true</enabled> <!-- 是否支持更新 --></releases><snapshots> <!-- 库中版本为snapshots的构件,临时版本 --><enabled>true</enabled><!-- 构件更新策略,daily:每日,always:一直,never:从不,interval:X:间隔 X 分钟),默认为 daily --><updatePolicy>always</updatePolicy></snapshots></repository></repositories>
</profile>

配置Maven9

6、使用 profile 配置需要进行激活,在文件末尾添加如下配置:

<activeProfiles><activeProfile>aliyun</activeProfile> <!-- profile 的 id --><activeProfile>tencentyun</activeProfile>
</activeProfiles>

配置Maven10

IDEA配置Maven

1、打开 settings -> Build, Execution, Deployment -> Build Tools -> Maven,Maven home path 选择 Maven 安装路径,User settings file 勾选后,选择 conf 目录下 settings.xml 文件,点击 Apply,再点击 OK 即可

配置Maven11

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

典型性相关分析在SPSS中的实现

典型性相关分析是研究两组变量(每组变量中都可能有多个指标)之间相关关系的一种多元统计方法。它能够揭示出两组变量之间的内在联系。 本文着重模型在spss中的应用,通过一道例题解释各个指标的意义。详细推导过程请选修课程《多元统计分析》 目录一、问题提出二、利用SPSS进…

PTA7-8次作业

Blog1.前言: 第七次作业是在第六次作业基础上的拓展,新增互斥开关与受控窗帘(要求:互斥开关有3个引脚:1个是汇总引脚,另两个是分支引脚。开关电路示意图如图1所示,左边是汇总引脚,编号为1;右边两个是分支引脚,右上的输出引脚为2,右下输出引脚为3。图中1、2、3引脚均…

.net6 prism wpf 8.1使用 halcondotnet 17.12程序集

1、找到安装目录下的halcondotnet.dll 2、自己新增dlls离线程序集合文件夹 3、放入halcondotnet.dll 4、wpf程序右键引用dll 5、报错 System.Drawing.Common问题nuget安装包 System.Drawing.Common 6、wpf使用halcondotnet.dll 程序集 <UserControl x:Class="Halcon…

表格结构转换(Filter+ToRow)

问题:一维表转成二维表,重复的内容横向展开 函数公式解决:=TOROW(FILTER(B$2:C$7,A$2:A$7=E2))

VAE生成人脸代码

基于VAE介绍的理论,简单实现VAE生成人脸,代码如下: utils.pyimport os from torch.utils.data import Dataset from torchvision.transforms import transforms import glob import cv2 import numpy as np import torchclass MyDataset(Dataset):def __init__(self, img_pa…

ret2shellcode

参考链接 :基本 ROP - CTF Wiki (ctf-wiki.org) 参考链接: https://www.freebuf.com/vuls/266711.html 参考链接:PWN入门(2-2-1)-栈迁移(x86) (yuque.com)介绍栈溢出漏洞的一种利用方式,通过向可写入可执行内存写入shellcode,并利用栈溢出漏洞将返回地址覆盖为shellco…

判断存在与否

问题:A、B两个表,在B表中判断其中数据在A表是否存在。 函数公式解决: =COUNTIF(A!A:A,A2)

有点难以描述的问题(转列+排序+去重)

问题: 以下数据起始值为0,与0同行的2在数据源中有重复,则取与之重复的2的同行数据即6,6在数据源中仍有重复,再取与之重复的6的同行数据8,8在数据源中没有重复,则为第一行第二列的结果。 以此类推。函数公式解决:=WRAPROWS(UNIQUE(SORT(TOCOL(A3:B8)),,1),2) 先用ToCal…

outside_的第三次博客作业

outside_的第三次博客作业 --Wenxiaowenyy 前言: 这次博客是本学期的最后一次博客,也是大一的最后篇博客,回顾这学期学习java的热情以及完成大作业的积极性比起学c语言的时候减少了许多,原因有很多,其一是自己变懒惰了,其二是这学期的java比起上学期的c语言的确难度增加了…

最大值减不为0的最小值

问题:一列中的最大值减去不为0的最小数(所有数据均为正数) 函数公式解决:=MAX(B4:B7)-MINIFS(B4:B7,B4:B7,">0")如果数据有正有负,则需要用MaxIfs减去MinIfs,MaxIfs与MinIfs用法相同。

搭建rust开发环境-记录

通过官网教程(https://www.rust-lang.org/zh-CN/learn/get-started)下载rustup安装 在项目开始的时候提示需要解析工具,按照提示需下载vsstudio,安装的时候选择c++开发桌面程序,不然后面build时候报错 参考文档:https://blog.csdn.net/weixin_44475303/article/details/1…

文本时间转成小数

问题:文本时间(**小时**分钟**秒)转成小数,小时部分为整数。 函数公式解决:传统套路 =SUBSTITUTE(SUBSTITUTE(A2,"小",),"钟",)*24 新套路 =SUBSTITUTES(A2,{"小","钟"},)*24 更新的套路(正则) =REGEXP(A2,"[小钟]",…

Face Adapter - 一键面部表情迁移、换脸工具 本地一键整合包下载

Face Adapter是一款高效的人脸编辑适配器,由浙江大学和腾讯联合开发,适用于预先训练的扩散模型,专门针对人脸再现和交换任务。只需要上传一张源脸和一张参考人脸,就能按照参考人脸的风格生成相同的面部的表情,一键生成两张换脸照片。类似的ID保持的人像生成软件,还有我们…

高级筛选超过15位的数字

问题:高级筛选直接设置条件,当条件的数字超过15位时会出现错误,要如何解决。 解决:在高级筛选条件中设置公式,公式所引用单元格为数据源表标题行下第一行,公式所在单元格上一个单元格必须空

OOP第三轮大作业总结

关于学习OOP的一点总结 本学期的pta也是走到尾声了,一路过来最深的体会是想做好面向对象真不是件容易的事情,但它确实在日常生活中发挥了很大的作用。个人很喜欢这种和实际结合起来的课程,但几个月下来我学得并不是很好,只能日后自己钻研了。 个人体会 关于语法: 1.因为一…

第三次大作业Blog

目录前言设计与分析踩坑心得改进建议总结 前言 知识点:类与对象的应用: 在三次大作业中,类与对象的应用无疑是核心和基础。这充分体现了Java作为一种面向对象编程语言的特性。通过定义类,我们可以创建具有特定属性和行为的对象,从而构建出复杂的程序逻辑。在每次大作业中,…

前端调用后端产生跨域问题解决

[参考文章](https://www.cnblogs.com/zhaodalei/p/17090119.html) ## 问题复现 * 前端的地址是* 后端的的请求资源地址 http://127.0.0.1:3000/api/category/list。 * 当前端请求获取后端数据时,会报如下错误,导致资源加载不出来。但是直接访问是可以获得数据的。说明不是数据…

java第三次大作业blog

pta第三次博客 目录 • pta第三次博客 o 1.前言 o 2.设计与分析 o 3.踩坑心得: o 4.改进建议 o 5.总结1.前言 这两次题目集的主要考察的知识点是继承和多态,包括对super、extend关键字的使用,方法的重写,类的继承,接口,排序,正则表达式等。 在数据处理方面,作业同样要求…

Python基础之多进程

目录1 多进程1.1 简介1.2 Linux下多进程1.3 multiprocessing1.4 Pool1.5 进程间通信1.6 分布式进程 1 多进程 1.1 简介 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用…

[LeetCode] 169. Majority Element

排序,返回中值。class Solution:def majorityElement(self, nums: List[int]) -> int:#always existsnums.sort()return nums[len(nums)//2]