Maven超细致史上最全Maven下载安装配置教学(2023更新...全版本)建议收藏...赠送IDEA配置Maven教程

news2024/11/17 23:56:41

Maven安装与配置

Maven 的主要目标是让开发人员能够在最短的时间内了解开发工作的完整状态。为了实现这一目标,Maven 处理了几个关注领域:

  • 简化构建过程

  • 提供统一的构建系统

  • 提供优质的项目信息

  • 鼓励更好的发展实践

基于项目对象模型 (POM,project object model) 的概念,Maven可以从中心信息块管理项目的构建、报告和文档。现在能看到的所有JavaEE项目几乎都是基于maven搭建的

Maven下载

官网:Maven官网

👉官网最新下载地址:Maven最新版本官网地址

👉官网历史下载地址:Maven历史版本官网地址 

Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。

Windows下安装配置Maven

将下载好的解压到自己设置的目录中(路径中不要有中文等影响环境的字符)

apache-maven-3.8.6-bin为例,在其目录内新建名为repository的文件夹,此文件夹的目的是作为本地的Maven仓库来使用。如图:

配置环境变量:

此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->新建

输入如下信息:

 变量名:MAVEN_HOME
 变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6
     //此处的变量值为你存放Maven的解压路径
 变量名:M2_HOME
 变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6\repository
     //此处的变量值为你存放Maven的解压后目录中的文件夹的路径
     //很多自动依赖的系统,如springboot、springcloud引用了该地址,建议配置上

继续执行如下步骤:

此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->找到Path变量--->编辑--->新建

 输入如下信息:

 %MAVEN_HOME%\bin

如图:然后点击确定即可,一直确定,直至关闭所有对话框

Maven配置阿里云等镜像:

打开Maven解压路径下的conf文件夹下的settings.xml文件,可以使用记事本或者VScode等软件打开进行编辑。

关于VScode请看此文章:VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_神兽汤姆猫的博客-CSDN博客_vscode最新版

打开后在<mirrors></mirrors>标签中添加 mirror 子节点:(个人建议使用第一个,在有的版本可能会出现warning)

  <!-- 阿里云仓库 -->
         <mirror>
             <id>alimaven</id>
             <mirrorOf>central</mirrorOf>
             <name>aliyun maven</name>
             <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
         </mirror>
<!-- 或者:--->
      <mirror>
         <id>nexus-aliyun</id>
         <mirrorOf>*</mirrorOf>
         <name>Nexus aliyun</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  • 虽然mirrors可以配置多个子节点,但它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror无法连接的时候,才会去找后一个;

  • 我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做,所以我们尽可能的将它添加到前面。

  • mirrors节点下可以配置多个mirror,每个mirror都有id(是mirror的唯一标识)、name、url(远程仓库地址)、mirrorsOf(代表了一个镜像的替代位置,例如central就表示代替官方的中央库),当需要去远程仓库下载jar包时不是按照位置顺序来查找的,是按钮id的字母排序来查着的,例如当配置了B和A两个mirror,无论这两个mirror的位置如何maven都会首先去A去查询,如果找到了则直接下载,如果找不到或者无法连接到A才会去B查询。 这里我们在mirrors下新建节点,使用阿里的仓库来替换默认的远程仓库

如图:

如果想使用其它代理仓库,可在<repositories></repositories>节点中加入对应的仓库使用地址。以使用spring代理仓为例:

 <repository>
     <id>spring</id>
     <url>https://maven.aliyun.com/repository/spring</url>
     <releases>
         <enabled>true</enabled>
     </releases>
     <snapshots>
         <enabled>true</enabled>
     </snapshots>
 </repository>

Maven配置JDK

打开conf文件夹下的settings.xml文件找到profiles节点,添加如下配置(根据自己的Java版本设置,我的是1.8)

     <!-- 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>

如图:

Maven建立本地仓库:

Maven的settings.xml文件内容,本地仓库默认为${user.home}/.m2/repository,其中${user.home}代表当前用户的Home目录。

随着Java项目的增多,maven仓库内容会逐渐增多,对于Windows用户,不适合将其放在系统盘。为了便于环境管理,建议将maven仓库放在maven目录中。

这里就用到了我们之前新建的repository文件夹,repository文件夹作为maven仓库,其绝对路径为步骤2所示:D:\Programming\Apache\Maven\apache-maven-3.8.6\repository这里设置为你个人当时设置的路径)。

打开conf文件夹下的settings.xml文件,找到settings标签,在找到节点localRepository,在注释外添加在其中添加如下代码(记得将代码中路径修改为自己电脑上的本地仓库路径

 <localRepository>D:\Programming\Apache\Maven\apache-maven-3.8.6\repository</localRepository>

如图:52行中的Default: ${user.home}/.m2/repository则为默认的本地仓库路径

localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是C:\Users\用户名.m2。 当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回。如果没有则从远程仓库中获取包,并在本地库中保存。 此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

测试Maven

运行CMD.exe---->mvn --version--->出现Maven版本信息则表明成功。
配置完成,运行CMD.exe---->mvn help:system测试,配置成功则本地仓库(D:\Programming\Apache\Maven\apache-maven-3.8.6\repository)中会出现一些文件。

首次执行 mvn help:system 命令,Maven相关工具自动帮我们到Maven中央仓库下载缺省的或者Maven中央仓库更新的各种配置文件和类库(jar包)到Maven本地仓库中。 下载完各种文件后, mvn help:system 命令会打印出所有的Java系统属性和环境变量,这些信息对我们日常的编程工作很有帮助。

IDEA配置Maven

打开IDEA会出现开始页面,进行如下操作:

点击左侧的Customize------>在界面中找到All settings...。或者是打开的项目中点击File---->Settings------>Build,Execution,Deployment----->Build Tools----->Maven

Maven home path:maven的路径地址

User setting file:用户设置的文件地址

local repository:本地存储库地址

推荐配置:设置Maven在不联网的情况下使用本地插件,一般使用Maven为我们提供好的骨架时,是需要联网的。

配置这个,在没有网络的情况下,可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。

Settings------>Build,Execution,Deployment----->Build Tools----->Maven---->Runner----->VM Optiions输入框中输入如下内容:
 -DarchetypeCatalog=internal

 如图:

老版本IDEA:

点击File----->Other Settings------>Settings for New Projects...使修改的Maven配置对新建的项目生效

新版本IDEA:

点击File----->New Projects Setup------>Settings for New Projects...使修改的Maven配置对新建的项目生效

如图:

 重启IDEA配置完成

继续查看配置🆒以防万一,如果发现配置并没有生效,因为有时候IDEA就会出现此问题。重新按照上述步骤配置即可

 如果您认真阅读至此,您现在已经掌握了Maven的安装与配置,且随着您认真练习使用次数的增加,您对Maven的掌握我相信不止于此,如果您对此软件或其他有进阶的要求,请移步至我的博客进行其余的修炼计划。

感谢您认真观看完毕此文章,如果此文章对您有帮助的话,还请您点赞、收藏、评论,这对我有很大的帮助。

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

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

相关文章

找不到msvcr110.dll丢失的解决方法-常见修复方法分享

在计算机使用过程中&#xff0c;我们可能会遇到 msvcr110.dll 丢失的问题。msvcr110.dll 是 Microsoft Visual C Redistributable 的一部分&#xff0c;是一个运行库文件&#xff0c;用于支持一些软件和游戏的运行。如果它丢失或损坏了&#xff0c;那么你就需要进行修复了。本文…

【C语言】循环结构程序设计(第二部分 -- 习题讲解)

前言:昨天我们学习了C语言中循环结构程序设计&#xff0c;并分析了循环结构的特点和实现方法&#xff0c;有了初步编写循环程序的能力&#xff0c;那么今天我们通过一些例子来进一步掌握循环程序的编写和应用。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &am…

conda安装使用jupyterlab注意事项

文章目录 一、conda安装1.1 conda安装1.2 常见命令1.3 常见问题 二、jupyterlab2.1 jupyterlab安装和卸载2.2 常见错误2.2.1 版本冲突&#xff0c;jupyterlab无法启动2.2.2 插件版本冲突 2.3 常用插件2.3.1 debugger2.3.2 jupyterlab_code_formatter 2.4 jupyter技巧 一、conda…

聊聊分布式架构——Http到Https

目录 HTTP通信协议 请求报文 响应报文 持久连接 状态管理 HTTPS通信协议 安全的HTTPS HTTP到HTTPS的演变 对称加密 非对称加密 混合加密机制 证书机构 SSL到底是什么 HTTPS是身披SSL外壳的HTTP HTTP通信协议 一次HTTP请求的通信流程&#xff1a;客户端浏览器通过…

【C++】STL简介(了解)

一、什么是STL STL (standard template libaray- 标准模板库 ) &#xff1a; 是 C 标准库的重要组成部分 &#xff0c;不仅是一个可复用的组件库&#xff0c;而且 是一个包罗数据结构与算法的软件框架 。 二、STL的版本 原始版本 Alexander Stepanov 、 Meng Lee 在惠普实验…

swift加载h5页面空白

swift加载h5页面空白 problem 背景 xcode swift 项目&#xff0c;WebView方式加载h5页面本地h5地址是&#xff1a;http://localhost:5173/ 浏览器打开正常 Swift 加载h5&#xff1a; 百度官网 加载正常本地h5页面 加载空白&#xff0c;没有报错 override func viewDidLoad…

RabbitMQ-工作队列

接上文 RabbitMQ-死信队列 1 工作队列模式 xx模式只是一种设计思路&#xff0c;并不是指具体的某种实现&#xff0c;可理解为实现XX模式需要怎么去写业务代码。 之前的是简单的一个消费者一个生产者模式&#xff0c;下边是一个生产者多个消费者的情况&#xff1a; 这里先定义两…

想要精通算法和SQL的成长之路 - 最长连续序列

想要精通算法和SQL的成长之路 - 最长连续序列 前言一. 最长连续序列1.1 并查集数据结构创建1.2 find 查找1.3 union 合并操作1.4 最终代码 前言 想要精通算法和SQL的成长之路 - 系列导航 并查集的运用 一. 最长连续序列 原题链接 这个题目&#xff0c;如何使用并查集是一个小难…

带你10分钟学会红黑树

前言&#xff1a; 我们都知道二叉搜索树&#xff0c;是一种不错的用于搜索的数据结构&#xff0c;如果二叉搜索树越接近完全二叉树&#xff0c;那么它的效率就会也高&#xff0c;但是它也存在的致命的缺陷&#xff0c;在最坏的情况下&#xff0c;二叉搜索树会退化成为单链表&am…

Spring三大核心组件

Spring架构图 Spring三大核心组件分别为&#xff1a;Core、Beans和Context 1. Core&#xff08;核心&#xff09;&#xff1a; 思想&#xff1a;Core组件的核心思想是控制反转&#xff08;IoC&#xff09;和依赖注入&#xff08;DI&#xff09;。它将对象的创建、组装和管理的…

【图像处理】使用各向异性滤波器和分割图像处理从MRI图像检测脑肿瘤(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

番外--Task2:

任务&#xff1a;root与普通用户的互切&#xff08;区别&#xff09;&#xff0c;启动的多用户文本见面与图形界面的互切命令&#xff08;区别&#xff09;。 输入图示命令&#xff0c;重启后就由图形界面转成文本登录界面&#xff1b; 输入图示命令&#xff0c;重启后就由文本…

Netron【.pt转.torchscript模型展示】

Netron是一个模型的展示工具&#xff0c;它有网页版和app版&#xff1a; 网页版&#xff1a;Netron app版&#xff1a;GitHub - lutzroeder/netron: Visualizer for neural network, deep learning, and machine learning models 直接用网页版吧&#xff0c;还不用安装。 它可…

【kubernetes】CRI OCI

1 OCI OCI(Open Container Initiative)&#xff1a;由Linux基金会主导&#xff0c;主要包含容器镜像规范和容器运行时规范&#xff1a; Image Specification(image-spec)Runtime Specification(runtime-spec)runC image-spec定义了镜像的格式&#xff0c;镜像的格式有以下几…

竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

【SpringBoot】配置文件详解

配置文件详解 一. 配置文件作用二. 配置文件的格式1. properties 配置文件说明①. properties 基本语法②. 读取配置⽂件③. properties 缺点 2. yml 配置⽂件说明①. yml 基本语法②. yml 使用进阶 3. properties VS yml 三. 设置不同环境的配置⽂件 一. 配置文件作用 整个项…

jsbridge实战1:xcode swift 构建iOS app

[[toc]] 环境安装 macOs: 10.15.5 xcode: 11.6 demo:app 创建 hello world iOS app 创建工程步骤 选择&#xff1a;Create a new Xcode project选择&#xff1a;iOS-> single View App填写&#xff1a; project name: swift-app-helloidentifer: smile 包名language: s…

基于Android的香格里拉美食分享APP/美食分享平台/基于android的美食平台

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的APP应运而生&#xff0c;各行各业相继进入信息管理时代&#x…

Youtube视频下载工具分享-油管视频,音乐,字幕下载方法汇总

YouTube视频下载方法简介 互联网上存在很多 YouTube 下载工具&#xff0c;但我们经常会发现自己收藏的工具没过多久就会失效&#xff0c;我们为大家整理的这几种方法&#xff0c;是存在时间较久并且亲测可用的。后续如果这些工具失效或者有更好的工具&#xff0c;我们也会分享…

【多线程进阶】死锁问题

文章目录 前言1. 什么是死锁1.1 死锁的三种典型情况 2. 死锁产生的必要条件3.如何解决死锁问题总结 前言 上文锁策略中, 当谈到可重入锁和不可重入锁时, 我们引入了一个 “死锁” 的概念, 当针对一把不可重入锁进行连续两次的加锁行为时, 就会产生死锁. 本文就重点来讲解一下…