Maven介绍安装和配置详解

点击下载《Maven介绍安装和配置详解》

1. Maven介绍

Maven是一个自动化构建工具,主要用于Java项目的构建和管理。它使用一种基于项目对象模型(POM)的概念,使得开发者能够使用一种统一的方式来管理项目的构建、报告和文档。

以下是Maven的一些主要特点和功能:

  1. 项目对象模型(POM):Maven使用一个XML文件(pom.xml)来描述项目的基本信息,如项目名称、版本、依赖项等。通过这个文件,Maven可以自动化地完成项目的构建、依赖管理、报告生成等工作。
  2. 依赖管理:Maven可以自动管理项目的依赖项,开发者只需要在pom.xml文件中指定依赖项的坐标,Maven就会自动下载并管理这些依赖项。
  3. 自动化构建:通过简单的命令行指令,Maven可以自动化地完成编译、测试、打包等任务。此外,它还支持插件机制,可以方便地扩展其功能。
  4. 项目报告和文档:Maven可以生成各种项目报告和文档,如代码覆盖率报告、单元测试报告、项目文档等。
  5. 集成工具:许多IDE和构建工具都支持Maven,使得开发者可以方便地使用Maven进行项目管理。

总的来说,Maven是一个强大的自动化构建工具,它简化了Java项目的构建和管理过程,使得开发者能够更加专注于开发本身。

如果你还未安装 JDK,可以参考我的 Java 开发环境配置。

2. 系统要求

项目要求
JDKMaven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上
内存没有最低要求
磁盘Maven 自身安装需要大约 10 MB 空间。除此之外,额外的磁盘空间将用于你的本地 Maven 仓库。你本地仓库的大小取决于使用情况,但预期至少 500 MB
操作系统没有最低要求

3. 检查 Java 安装

操作系统任务命令
Windows打开命令控制台c:\> java -version
Linux打开命令终端# java -version
Mac打开终端$ java -version

4. Maven 下载

Maven 下载地址:http://maven.apache.org/download.cgi

img

不同平台下载对应的包:

系统包名
Windowsapache-maven-3.3.9-bin.zip
Linuxapache-maven-3.3.9-bin.tar.gz
Macapache-maven-3.3.9-bin.tar.gz

下载包后解压到对应目录:

系统存储位置 (可根据自己情况配置)
WindowsE:\Maven\apache-maven-3.3.9
Linux/usr/local/apache-maven-3.3.9
Mac/usr/local/apache-maven-3.3.9

5. 设置 Maven 环境变量

添加环境变量 MAVEN_HOME:

系统配置
Windows右键 “计算机”,选择 “属性”,之后点击 “高级系统设置”,点击"环境变量",来设置环境变量,有以下系统变量需要配置:新建系统变量 MAVEN_HOME,变量值为Maven的安装目录,如:E:\Maven\apache-maven-3.3.9img编辑系统变量 Path,添加变量值:;%MAVEN_HOME%\binimg注意:多个值之间需要有分号隔开,然后点击确定。
Linux下载解压:# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz # tar -xvf apache-maven-3.3.9-bin.tar.gz # sudo mv -f apache-maven-3.3.9 /usr/local/编辑 /etc/profile 文件 sudo vim /etc/profile,在文件末尾添加如下代码:export MAVEN_HOME=/usr/local/apache-maven-3.3.9 export PATH=${PATH}:${MAVEN_HOME}/bin保存文件,并运行如下命令使环境变量生效:# source /etc/profile在控制台输入如下命令,如果能看到 Maven 相关版本信息,则说明 Maven 已经安装成功:# mvn -v
Mac下载解压:$ curl -O http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz $ tar -xvf apache-maven-3.3.9-bin.tar.gz $ sudo mv -f apache-maven-3.3.9 /usr/local/编辑 /etc/profile 文件 sudo vim /etc/profile,在文件末尾添加如下代码:export MAVEN_HOME=/usr/local/apache-maven-3.3.9 export PATH=${PATH}:${MAVEN_HOME}/bin保存文件,并运行如下命令使环境变量生效:$ source /etc/profile在控制台输入如下命令,如果能看到 Maven 相关版本信息,则说明 Maven 已经安装成功:$ mvn -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /usr/local/apache-maven-3.3.9 Java version: 1.8.0_31, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: ISO8859-1 OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"
name: “mac os x”, version: “10.13.4”, arch: “x86_64”, family: “mac”`

点击下载《Maven介绍安装和配置详解》

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

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

相关文章

大模型提效105篇必读论文和代码汇总,涵盖预训练、注意力、微调等7个方向

大型语言模型(LLMs)在NLP领域中具有显著的优势,它们在语言理解和生成方面表现出了强大的能力,甚至可以进行复杂的推理任务。这些能力能让大模型在许多领域都有广泛的应用前景,比如文本生成、对话系统、机器翻译、情感分…

论文阅读——EfficientViT(cvpr2023)

EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 1、 从三个角度探讨如何提高vision transformers的效率:内存访问、计算冗余和参数使用。 2.1. Memory Efficiency 红色字体表示操作所花费的时间主要由内存访问决定,…

C语言 linux文件操作(一)

文章目录 一、linux文件权限1.1文件描述符1.2文件描述符的范围和默认值1.3打开文件和文件描述符1.4标准文件描述符1.5文件描述符的重定向和关闭1.6I/O 操作1.7使用文件描述符进行进程通信1.8资源限制 二、C语言文件读写2.1open 函数2.2 flags参数详解2.3 lseek 函数 一、linux文…

Javaweb之数据库连接池以及lombok类库的详细解析

3. 数据库连接池 在前面我们所讲解的mybatis中,使用了数据库连接池技术,避免频繁的创建连接、销毁连接而带来的资源浪费。 下面我们就具体的了解下数据库连接池。 3.1 介绍 没有使用数据库连接池: 客户端执行SQL语句:要先创建一…

JS + CSS 实现高亮关键词(不侵入DOM)

之前在做关键词检索高亮功能的时候,研究了下目前前端实现高亮的几种方式,第一就是替换dom元素实现高亮,第二就是利用浏览器新特性Css.highlights结合js选区与光标与CSS高亮伪类实现,实现功能如下: 一、页面布局 一个…

叫板GPT-4的Gemini,我做了一个聊天网页,可图片输入,附教程

先看效果: 简介 Gemini 是谷歌研发的最新一代大语言模型,目前有三个版本,被称为中杯、大杯、超大杯,Gemini Ultra 号称可与GPT-4一较高低: Gemini Nano(预览访问) 为设备端体验而构建的最高效模型,支持离线使用场景。…

[Redis实战]分布式锁

四、分布式锁 4.1 基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行&#xf…

Rust赋值语句和数字类型

赋值语句 在Rust中,使用let关键字定义变量。格式是let 变量名:变量类型 变量值;,下边是个例子: let age:i32 18;这就是定义一个有符号32位的数字变量age,而其中的值是18。 而在C语言定义变量的语句格式是类型 变量名 变量值。…

【网络技术】【Kali Linux】Wireshark嗅探(三)用户数据报(UDP)协议

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解UDP协议的报文格式。 二、网络环境设置 本次实验使用Kali Linux虚拟机完成,主机操作系统为Windows 11,虚拟化平台选择Oracle VM VirtualBox,组网模式选择…

electron使用webview出现空白页面解决办法

在使用webview标签的时候,出现了空白页面的情况,刚开始以为没有生效,后来发现页面上是有这个标签的,但是没有展示出内容,后来看了官网,默认情况下,webview标签在 Electron > 5 中被禁用。 &l…

pytorch机器学习各种激活函数总结(不完整学习更新中~)

pytorch各种激活函数总结 0.思维导图预览1. ReLU函数2. Sigmoid函数3. Softmax函数4. Tanh函数5.(学习后更新) 0.思维导图预览 1. ReLU函数 ReLU(Rectified Linear Unit)线性整流函数 其公式为: f ( x ) M a x ( 0 …

传感器原理与应用复习--具体场景的应用

文章目录 测量转速测量厚度测量加速度测量液体压强测量含水量测量温度测量流速 测量转速 磁电感应传感器 霍尔传感器 测量厚度 电涡流传感器 测量加速度 应变式传感器 差动变压器式传感器 测量液体压强 电感传感器 电容传感器 测量含水量 半导体传感器 微波传感器…

Prototype原型模式(对象创建)

原型模式:Prototype 链接:原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作&am…

Redis的集群模式:主从 哨兵 分片集群

基于Redis集群解决单机Redis存在的问题,在之前学Redis一直都是单节点部署 单机或单节点Redis存在的四大问题: 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 > 利用Redis数据持久化的功能将数据写入磁盘并发能力问题…

基于YOLOv8的目标跟踪技术

💡💡💡本文摘要:介绍了YOLOv8自带的目标跟踪技术以及评价指标,并教会你如何在YOLOv8使用 1.YOLOv8自带两种跟踪方法 ultralytics/cfg/trackers/文件夹下 1.1 ByteTrack介绍 https://arxiv.org/pdf/2110.06864.pdf 摘…

Python爬虫---selenium基本使用(支持无界面浏览器PhantomJS和Chrome handless)

为什么使用selenium? 使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium (1) selenium是一个用于web应用程序测试的工具 (2) selenium 测试直接运行在浏览器中,就像真正的用户在操作一样 (3) 支持通过各种driver (FirfoxDri…

PAT 乙级 1057 数零壹

给定一串长度不超过 10 5 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Bas…

人大金仓数据库与mysql比较

简介 人大金仓数据库是基于 PostgreSQL 开发的。 SQL语言 语法 关键字 KES: MYSQL: 语句 *特性MYSQLKES字符串字面量单引号()或 双引号(")十六进制字面量0x5461626c65,X5461626c65/BIT字面量b1000001,0b1000001/Boolean字面量常…

C#中汉字转区位码

目录 一、关于区位码 1.区位码定义 2.算法 二、实例 三、生成效果 四、程序中的知识点 1.byte[] GetBytes(string s) 2.字节数组转short类型 一、关于区位码 1.区位码定义 区位码是一个4位的十进制数,每个区位码都对应着一个唯一的汉字,区位码…

软件测试方法分类-按照开发阶段划分细讲

前面我给出了整体的软件测试分类,那么接下来,我会将每个分类进行细讲。 第一个我们要说到的就是按照开发阶段划分。 我们都知道软件测试方法分类中,如果按照开发阶段划分,可以分为: 1,单元测试 (Unit Te…