【安装指南】maven下载、安装与配置详细教程

🌼一、概述

maven功能与python的pip类似。

Apache Maven是一个用于软件项目管理和构建的强大工具。它是基于项目对象模型的,用于描述项目的构建配置和依赖关系。以下是一些关键的 Maven 特性和概念:

  1. POM(Project Object Model):Maven项目通过一个XML文件,通常称为pom.xml,来描述项目的元数据和配置信息。POM包含项目的基本信息、构建配置、依赖关系等。

  2. 依赖管理:Maven简化了项目的依赖管理。通过在pom.xml文件中声明依赖关系,Maven会自动下载所需的库并添加到项目构建路径中。

  3. 生命周期和插件:Maven定义了一组构建生命周期(Build Lifecycle),包括清理、编译、测试、打包、部署等阶段。每个生命周期包含一组阶段,而插件则用于执行这些阶段的任务。

  4. 仓库(Repository):Maven使用本地和远程仓库来存储和获取构建所需的依赖。本地仓库存储在开发者本地机器上,而远程仓库通常是中央仓库(Central Repository)或其他自定义仓库。

  5. 中央仓库:Maven的中央仓库是一个集中的、可公共访问的仓库,包含了大量的开源Java库和工具。Maven会自动从中央仓库下载依赖。

  6. 插件体系结构:Maven的插件体系结构允许开发者扩展和定制构建过程。插件可以提供额外的目标和任务,以满足特定项目的需求。

  7. 多模块项目:Maven支持多模块项目,允许将大型项目划分为若干个模块,每个模块都有自己的pom.xml文件。这种结构有助于组织和管理复杂的项目。

  8. 约定优于配置:Maven遵循“约定优于配置”的原则,通过定义一些默认的规则和标准目录结构,简化了项目的配置。这意味着,如果项目结构符合约定,很多配置可以省略。

总体而言,Maven是一个广泛使用的构建工具,它提供了一种简单的方式来管理项目的构建、依赖和发布。通过采用约定优于配置的理念,Maven使得项目构建过程更加标准化和易于维护。


🍀二、下载maven

maven官网Maven – Download Apache Maven Windows下载apache-maven-3.9.5-bin.zip

资源获取:关注文末公众号回复  apache-maven-3.6.3


🌷三、解压maven

比如我将其存放在C:\Program Files\Java\maven


🍁四、配置maven

a 配置环境变量

打开环境变量,新建系统变量,设置如下:

在系统变量的Path路径下加入

检查是否配置完成

打开终端输入

mvn -v

显示这样说明配置成功!

b 配置镜像【可选,为了下载更快】

打开setting.xml

找到内容

将原来的内容修改成

<mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus-aliyun</name>
        <url>https://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
</mirrors>

c 配置私服仓库【可选,为了确定jar包存储位置】

后下载的jar包都会放在该目录下。

  <!-- 配置私服仓库地址 -->
  <localRepository>D:\maven\mvnRespo</localRepository>

在D盘创建D:\maven\mvnRespo文件夹


🍁五、常用maven指令

1. maven常用命令
命令                      描述
mvn clean             对项目进行清理,删除target目录下编译的内容
mvn compile         编译项目源代码
mvn test                对项目进行运行测试
mvn package        打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的                                  class文件
mvn install            在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放                               到项目的target目录下  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis基础教程及使用细节

本篇主要对Mybatis基础使用进行总结&#xff0c;包括Mybatis的基础操作&#xff0c;使用注解进行增删改查的练习&#xff1b;详细介绍xml映射文件配置过程并且使用xml映射文件进行动态sql语句进行条件查询&#xff1b;为了简化java开发提高效率&#xff0c;介绍一下依赖&#x…

安科瑞电气火灾监控系统在海尔(合肥)创新产业园一期厂房改扩建项目的设计与应用

摘要&#xff1a;介绍海尔&#xff08;合肥&#xff09;创新产业园一期厂房改扩建项目采用安科瑞剩余电流式电气火灾探测器&#xff0c;就地组网方式&#xff0c;通过现场总线通讯远传至后台&#xff0c;从而实现剩余电流式电气火灾监控系统的搭建&#xff0c;完成对现场配电回…

万户 ezOFFICE wpsservlet SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

微信小程序应用商店源码系统 带完整的安装代码包以及搭建教程

随着微信小程序的普及&#xff0c;越来越多的企业和开发者开始关注小程序的开发与运营。为了满足市场需求&#xff0c;小编给大家分享一款微信小程序应用商店源码系统。该系统集成了完整的安装代码包&#xff0c;方便用户快速搭建自己的小程序应用商店。 以下是部分代码示例&a…

typedef

typedef typedef &#xff0c;type表示类型&#xff0c; def就是define&#xff0c; 定义的意思。所以&#xff0c;根据名字我们就可以知道typedef就是类型定义的意思。可以对一个类型进行重新定义。 一般对一个类型重新定义都是这种形式: typedef 类型 重定义 如&#xff…

web学习笔记(十九)

目录 1.作用域 1.1作用域的概念 1.2作用域的分类 1.2.1全局作用域 1.2.2局部作用域 1.2.3块级作用域&#xff08;ES6新增 &#xff09; 2.变量作用域 2.1全局变量 2.2局部变量 3.作用域链 3.1作用域链的定义 4.垃圾回收机制 4.1定义 4.2如何避免内存泄漏 5.预…

1895_分离进程的能力

1895_分离进程的能力 全部学习汇总&#xff1a; g_unix: UNIX系统学习笔记 (gitee.com) 有些理念可能在控制类的嵌入式系统中不好实施&#xff0c;尤其是没有unix这样的系统搭载的情况下。如果是考虑在RTOS的基础上看是否有一些理念可以做尝试&#xff0c;我觉得还是可以有一定…

Android: 深入理解 ‘companion object {}‘

Android: 深入理解 ‘companion object {}’ Kotlin是一种现代的、静态类型的编程语言&#xff0c;它在设计时充分考虑了开发者的生产力和代码的可读性。其中一个独特的特性就是companion object。在本篇博客中&#xff0c;我们将深入探讨这个特性&#xff0c;理解它的工作原理…

一款轻量级、高性能、功能强大的内网穿透代理服务器

简介 nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发&#xff0c;可支持任何tcp、udp上层协议&#xff08;访问内网网站、本地支付接口调试、ssh访问、远程桌面&#xff0c;内网dns解析等等……&#xff09;&#xff0c;此外还支持内网htt…

Node需要了解的知识

Node能执行javascript的原因。 浏览器之所以能执行Javascript代码&#xff0c;因为内部含有v8引擎。Node.js基于v8引擎封装&#xff0c;因此可以执行javascript代码。Node.js环境没有DOM和BOM。DOM能访问HTML所有的节点对象&#xff0c;BOM是浏览器对象。但是node中提供了cons…

网络攻防模拟与城市安全演练 | 图扑数字孪生

在数字化浪潮的推动下&#xff0c;网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟&#xff0c;为安全专业人员提供实战经验&#xff0c;从而提升应对网络威胁的能力。同时&#xff0c;在城市安…

【Android】二级分类双列表联动Demo

先上图&#xff1a; Demo解释 demo使用的是双列表展示&#xff08;准确的说是三个&#xff0c;二级分类那里嵌套了一个&#xff09;&#xff0c;点击左边的条目&#xff0c;右边的列表会跳转相应的条目&#xff0c;滑动右边的列表&#xff0c;左边的列表也会相应的滑动。 代…

2024 年 10 款最佳免费无限的数据恢复软件工具

十大无限的数据恢复软件工具 数据丢失可能是一场噩梦&#xff0c;无论是由于意外删除、系统崩溃还是硬件故障。值得庆幸的是&#xff0c;有多种数据恢复软件工具可以帮助您检索珍贵的文件和文档。在本文中&#xff0c;我们将探讨可以拯救世界的十大最佳免费无限数据恢复软件工…

第二百零五回

文章目录 1. 概念介绍2. 实现方法2.1 文字信息2.2 红色边框 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现密码输入框"相关的内容&#xff0c;本章回中将介绍如何在在输入框中提示错误.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们…

RT-Thread线程管理(使用篇)

layout: post title: “RT-Thread线程管理” date: 2024-1-26 15:39:08 0800 tags: RT-Thread 线程管理(使用篇) 之后会做源码分析 线程是任务的载体&#xff0c;是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文&#xff0c;具体来说就是各个变量和数据&#xff0c…

stable diffusion学习笔记——高清修复

ai画图中通常存在以下痛点&#xff1a; 受限于本地设备的性能&#xff08;主要是显卡显存&#xff09;&#xff0c;无法跑出分辨率较高的图片。生图的时候分辨率一调大就爆显存。即便显存足够。目前主流的模型大多基于SD1.0和SD1.5&#xff0c;这些模型在训练的时候通常使用小…

【Java】IoC五大注解和@Bean注解

1、用于类的五大注解 Controller 控制器存储 Service 服务存储 Component 组件存储 Configuration 配置存储 Repository 仓库存储 从功能上看&#xff0c;除了Controller&#xff0c;其他效果一样&#xff1a;接口的入口必须为Controller ​几者的关系如下 2、用于方法的…

Leetcode92:反转链表II(区间反转链表)

一、题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a…

一篇文章解决你的无线AP选型难题:从入门到精通

无线网络覆盖项目中&#xff0c;无线AP的合理选型和部署非常重要。今天给大家安排。 这篇文章&#xff0c;给你总结了6类典型的无线组网场所&#xff0c;针对每种场景的特点&#xff0c;给出相应的设备选型和部署的方案&#xff0c;同时整理了一些部署无线AP过程中容易忽略的细…

阿里云服务器一键部署幻兽帕鲁专属服务器,图形化可视化修改游戏参数是如此简单!

幻兽帕鲁这款游戏最近很火&#xff0c;在线玩家太多了&#xff0c;官方服务器也是承压巨大&#xff0c;很多玩家现在都是搭建自己的专属幻兽帕鲁服务器来玩。搭建教程现在也是越来越简单了&#xff0c;可以说是真正的零基础&#xff0c;一看就会&#xff0c;并且开箱即玩&#…
最新文章