一文搞懂Maven的使用:下载、配置、阿里云私服、IDEA配置

news2024/11/25 16:40:13

Maven是什么?

Maven是一个项目管理工具,其核心是一个项目对象模型(POM:Project Object Model),通过这个模型可以管理项目的构建、报告和文档。Maven还包含了一套标准的集合、项目生命周期、依赖管理系统以及用于运行定义在生命周期阶段中插件目标的逻辑。

第一章、 Maven介绍

1. Maven的主要作用

  • 依赖管理:Maven的一个核心特性是依赖管理。在项目开发过程中,经常会用到各种第三方库(jar包),Maven能够自动下载这些库并管理它们之间的依赖关系,避免了版本冲突和手动管理jar包的繁琐。通过在POM文件中声明依赖,Maven会自动从中央仓库或配置的远程仓库下载所需的jar包,并将其放置在项目的本地仓库中,供项目构建时使用。

  • 项目构建:Maven提供了一套标准化的构建流程,包括清理、编译、测试、打包、安装和部署等阶段。通过简单的命令(如mvn clean、mvn compile、mvn test等),Maven能够自动化地完成这些构建任务,大大简化了项目构建的过程。

  • 项目结构规范:Maven规定了标准的项目目录结构,使得项目结构更加清晰、规范。这种标准的项目结构有利于团队成员之间的协作,也便于项目的维护和升级。

2. Maven的优势

  • 自动化构建:Maven能够自动化处理项目的构建过程,减少了人工干预和出错的可能性。

  • 依赖管理:Maven的依赖管理机制能够自动解决jar包之间的依赖关系,避免了版本冲突和手动管理jar包的繁琐。

  • 标准化:Maven提供了标准化的项目结构和构建流程,使得项目更加规范、易于管理。

  • 插件机制:Maven拥有丰富的插件库,这些插件可以扩展Maven的功能,实现更复杂的构建需求。

第二章、 Maven安装配置

1. 下载安装

  • 下载地址:https://maven.apache.org/download.cgi
  • 版本选择:这里选择当前最新版的zip包,点击下载
    在这里插入图片描述
  • 下载完成

在这里插入图片描述

  • 解压:将上述zip包解压到无中文字符和特殊字符的路径下

    D:\devtool\maven\apache-maven-3.9.9
    
  • 目录简介
    在这里插入图片描述

    • bin: 可执行命令,当运行mvn -v 等命令时就会从这个包下查找。
    • conf: 存放Maven的配置文件(如后期需要修改的settings.xml配置文件)。
    • lib: 存放Maven自身依赖的jar包,因为Maven是java开发的。

2. 配置

  • 本地仓库

    • 在maven安装目录下新建repo目录,表示本地仓库,用来存放jar包,将来使用maven构建环境时,所需要的依赖都会先从这个目录下找,若没有则会从中央仓库下载到本地仓库。
      在这里插入图片描述
    • 将上述仓库路径D:\devtool\maven\apache-maven-3.9.9\repo复制,打开conf/settings.xml文件,将其如下图所示的方式添加到对应位置,然后保存,不要关闭。
      在这里插入图片描述
  • 阿里云私服

    • 由于中央仓库网络距离比较远,使用maven下载依赖时会比较慢,而国内一些镜像提供了私服仓库,这些仓库内的依赖包和中央仓库的几乎一致,因此需要配置一个私服来加速构建,这里选择阿里云私服
    • 在刚才打开的settings.xml文件中,在<mirrors>标签中注释掉原来未注释的<mirror>标签(可以使用Crtl+f搜索定位到mirrors标签),加入如下内容
      <mirror>
         <id>alimaven</id>
         <name>aliyun maven</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
         <mirrorOf>central</mirrorOf>
      </mirror>
      
    • 注意<mirrors>标签内只能有一个<mirror>标签,不用的需要注释掉
  • 环境变量

    • 由于在使用maven构建环境时,本质上也是运行的mvn命令,即在安装目录下的bin目录中,故需要将其添加到环境变量

    • 将maven安装目录下的bin目录的路径复制到剪贴板
      在这里插入图片描述

    • 右击此电脑->属性->高级系统设置->环境变量,在系统环境变量中找到Path,点击选中之后点击下方编辑按钮,然后点击新建,将复制的maven的bin路径填入出来的输入框中,然后点击确定->确定->确定
      在这里插入图片描述

    • 至此,环境变量配置成功,打开cmd黑框口,输入mvn -v,若出现以下内容,表明环境变量设置是成功的
      在这里插入图片描述

第三章、IDEA配置Maven

1. IDEA中配置maven

  • 配置maven,如下图
    在这里插入图片描述

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

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

相关文章

代码随想录算法训练营第27天|455. 分发饼干、376. 摆动序列、53. 最大子数组和

目录 455. 分发饼干&#xff08;总出问题&#xff0c;需要多次写&#xff09;1、题目描述2、思路3、code4、复杂度分析5、超级无敌一句话总结 376. 摆动序列1、题目描述2、思路4、复杂度分析 53. 最大子数组和1、题目描述2、思路3、code4、复杂度分析 455. 分发饼干&#xff08…

无人机之伯努利定律

无人机的伯努利定律是解释无人机飞行原理的关键理论之一&#xff0c;它主要阐述了流体&#xff08;如空气&#xff09;在流动过程中速度与压力之间的关系。以下是对无人机伯努利定律的详细解释&#xff1a; 一、伯努利定律的基本原理 伯努利定律是流体力学中的一个基本原理&am…

初识时序数据库InfluxDB

最近项目开发中,需要记录时间序列的日志信息,InfluxDB 刚好契合。于是准备研究一下,发现已经有整理很好的文档,以下两篇觉得很好,入门开发可以参考一下。 因为项目是用C#开发的,因此,简单介绍一下C#开发中,InfluxDB的API使用。 1.简介 InfluxDB是一个由InfluxData开发…

18、Gemini-Pentest-v1

难度 中 &#xff08;个人认为是高&#xff09; 目标 root权限 一个flag 靶机启动环境为VMware kali 192.168.152.56 靶机 192.168.152.64 信息收集 突破点大概就是web端了 web测试 访问主页直接就是目录遍历 不过进去后是一个正常的网页 简单的试了几个弱口令无果继续信息…

什么是HTTPS协议?

HTTPS协议&#xff08;Hypertext Transfer Protocol Secure&#xff09;即安全超文本传输协议&#xff0c;是互联网上进行安全通信的一种重要协议。它是在HTTP&#xff08;Hypertext Transfer Protocol&#xff09;协议的基础上增加了安全性的要求&#xff0c;通过SSL&#xff…

ffmpeg面向对象-rtsp拉流相关对象

目录 1.AVFormatContext类。1.1 概述1.2 构造函数1.3 oopc的继承实现 2. AVInputFormat 类。2.1 多态的实现 3.所用设计模式3.1模板模式3.2 工厂模式&#xff1f; 3.3 rtsp拉流建链 4.this指针5.小结6.rtsp拉流流程 1.AVFormatContext类。 1.1 概述 用户看到的是AVFormatCont…

精益管理|Toyota Kata 是什么意思?

丰田套路是一种培养持续改进习惯的系统方法&#xff0c;也是精益管理&#xff08;CLMP&#xff09;中的一套方法。“Toyota Kata”一词来自精益专家 Mike Rother 的管理书籍《Toyota Kata&#xff1a;Managing People for Improvement, Adaptiveness, and Superior Results》。…

2024/9/11 小型PLC典型应用2:伺服canlink配置、指令、应用

下面这个指令需要设置伺服的急停方式&#xff08;例如&#xff1a;惯性停机、急停等等&#xff09; 通讯故障步骤排查 1&#xff1a;接线问题 2&#xff1a;配置问题&#xff08;波特率.....&#xff09;

安卓13允许app启动服务 android13允许应用启动服务 无法启动服务 Background start not allowed: service

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 android13应用启动服务,有些应用会被禁止启动服务,开启的服务会失败,这是高版本的android的特性,我们需要更改下frameworks的代码。 2.问题分析 查看下logcat信息 B…

百元榜哪个牌子的蓝牙耳机最好用?四大闭眼入高性价比耳机推荐!

蓝牙耳机的普及率在近年来越来越高&#xff0c;行业发展十分迅猛&#xff01;在很多好的品牌涌现的同时&#xff0c;也有很多的品牌质量不过关&#xff0c;货不对版&#xff0c;使得很多的人以为&#xff0c;百元的就没有好用蓝牙耳机&#xff0c;不少小伙伴在选择蓝牙耳机的时…

N-152基于java贪吃蛇游戏5

开发工具eclipse,jdk1.8 文档截图&#xff1a; N-152基于java贪吃蛇游戏5

抽象工厂模式abstract factory

此篇为学习笔记&#xff0c;原文链接 https://refactoringguru.cn/design-patterns/abstract-factory 它能创建一系列相关的对象&#xff0c; 而无需指定其具体类。抽象工厂提供了一个接口&#xff0c; 可用于创建每个系列产品的对象。 优点 你可以确保同一工厂生成的产品相…

2024/9/10黑马头条跟学笔记(六)

D6 1.今日学习内容 1.1需求分析 点击下架之后&#xff0c;app端显示以下架 耦合&#xff0c;没技术点&#xff0c;不用&#xff0c;咱用kafka&#xff0c;流量削峰&#xff0c;异步调用&#xff0c;解耦 为什么要学&#xff1f; 面时提问 2.kafka概述 rabbitMQ&#xff0c;…

C#基础:字段的初始化,特性,类的继承和多态基础demo

目录 一、字段 1.认识字段和属性 2.初始化字段 二、特性 1.特性的基础 2.特性的自定义和使用 三、继承 1.多继承 2.重写父类和增加子类方法 四、多态 一、字段 1.认识字段和属性 public class Test { public int field //我是字段public int property { get; set; …

建议AI大模型小白必看的学习教程!!

逼自己两周刷完 AI大模型(白嫖) LLM大模型自用资料&#xff0c;以及学习路线整理 整理了我入门大模型的学习路线和自用资料&#xff0c;在全民LLM时期&#xff0c;多输入一些就多一重安全感。建议先对LLM全貌有了解&#xff0c;然后自顶向下去学习。前置知识是nlp基础如transf…

Vue3.5正式上线,有哪些新特性和用法?

9月1日&#xff0c; Vue 3.5 正式发布了&#xff01; 此次要版本不包含重大更改&#xff0c;并且包括内部改进和有用的新功能。我们将在这篇博文中介绍一些亮点 - 有关更改和新功能的完整列表&#xff0c;请参阅 GitHub 上的完整更新日志。 1. Props 解构 在vue3.5 之前&#…

C语言14--作用域与存储期

作用域基本概念 C语言中&#xff0c;标识符都有一定的可见范围&#xff0c;这些可见范围保证了标识符只能在一个有限的区域内使用&#xff0c;这个可见范围&#xff0c;被称为作用域&#xff08;scope&#xff09;。 软件开发中&#xff0c;尽量缩小标识符的作用域是一项基本原…

细致刨析JDBC ③ 高级篇

目录 一、JDBC优化及工具类封装 1.现有问题 2.JDBC工具类封装V1.0 3.ThreadLocal 4.JDBC工具类封装V2.0 二、DAO封装及BaseDAO工具类 1.BaseDAO概念 2.BaseDao层代码实现 ① BaseDao层——通用的修改方法 ② 通用的查询方法 ③ 单行查询方法优化 三、事务 1、事务回顾 2.JDBC中…

批量操作Excel的四个方法(求和、移动、对比、合并)

Excel文件肯定少不了保存大量数据&#xff0c;那么在使用excel的时候会不会要大批量数据进行操作&#xff1f;今天分享4个快速使用excel操作的小技巧。希望能够帮大家提高excel制作效率。 技巧一&#xff1a;快速求和 当你想要分别得到行列的总和&#xff0c;我们可以选中表格…

WeChatFerry学习使用

准备 下载软件安装微信 安装python环境 conda create --prefixD:\PythonEnvs\wechatrobotstu python3.10 conda activate D:\PythonEnvs\wechatrobotstu使用 新建python项目 安装依赖包 pip install --upgrade wcferry -i https://pypi.doubanio.com/simple解压dll到一个…