Windows安装Maven

一、Maven 是什么?

Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。

在有多个开发团队环境的情况下,Maven 能够在很短的时间内使得每项工作都按照标准进行。因为大部分的工程配置操作都非常简单并且可复用,在创建报告、检查、构建和测试自动配置时,Maven 可以让开发者的工作变得更简单。

Maven 能够帮助开发者完成以下工作:构建、文档生成、报告、依赖、SCMs、发布、分发、邮件列表

总的来说,Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务。

二、为什么要Maven

在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。

Maven是当前最受欢迎的Java项目管理构建自动化综合工具,类似以前Java中的Ant、node.js中的npm、dotNet中的nuget、PHP中的Composer。yum

Maven这个单词来自于意第绪语(犹太语),意为知识的积累。

Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。

因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本比较麻烦)----一个项目管理工具。

Maven主要做了两件事:

  1. 统一开发规范与工具

  2. 统一管理jar包

如果没有Maven,你可能不得不经历下面的过程:

1 如果使用了spring,去spring的官网下载jar包;如果使用hibernate,去hibernate的官网下载Jar包;如果使用Log4j,去log4j的官网下载jar包.....

2 当某些jar包有依赖的时候,还要去下载对应的依赖jar包

3 当jar包依赖有冲突时,不得不一个一个的排查

4 执行构建时,需要使用ant写出很多重复的任务代码

5 当新人加入开发时,需要拷贝大量的jar包,然后重复进行构建

6 当进行测试时,需要一个一个的运行....检查有了Maven,它提供了三种功能:

  • 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。

  • 项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布...

  • 项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等。官网:Maven – Welcome to Apache Maven

三、Maven安装配置

想要安装 Apache Maven 在Windows 系统上, 需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量。

所需工具 :

  1. JDK 1.8

  2. Maven 3.3.3

  3. Windows 7 +

注:Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上

1. JDK 和 JAVA_HOME

确保已安装JDK,并 “JAVA_HOME” 变量已加入到 Windows 环境变量。

操作要以按上面数字顺序,在这个教程中,安装的 JDK 是 JDK1.8,为了方便学习,建议你也安装使用 JDK1.8。

2. 下载Apache Maven

访问 Maven官方网站,打开后找到下载链接,如下:

下载 Maven 的 zip 文件,将它解压到你要安装 Maven 的文件夹。

假设你解压缩到文件夹 – D:\Program Files (x86)\apache-maven-3.9.5

注意:在这一步,只是文件夹和文件,安装不是必需的。

3. 添加MAVEN_HOME

添加MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。

4. 添加到环境变量 - PATH

更新 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行 Maven 命令了。

5. 验证

完成,以验证它,执行 mvn –version 在命令提示符下,如下图输出结果:

C:\Users\Administrator>mvn -version

如果你看到类似消息,说明 Apache Maven 在 Windows 上已安装成功。

四、Maven 阿里云(Aliyun)仓库

Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库。

修改 maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

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

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

相关文章

AirServer Mac7.27中文破解2024最新图文安装激活教程含许可证

AirServer Mac 7.27中文破解是一款便捷式投屏软件&#xff0c;它的主要功能在于实时地将移动设备上的图像画面内容投放到电脑设备上&#xff0c;让电脑成为iPad、iPhone等iOS系统设备的大屏显示器。 在设备之间建立局域网内的信号发送与接收通道&#xff0c;确保数据可以稳定安…

pytorch 常用api笔记

view_as()函数 函数定义&#xff1a;view_as(tensor) [参数为一个Tensor张量] 该函数的作用是将调用函数的变量&#xff0c;转变为同参数tensor同样的形状。 例子 data1 [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 0], [10, 11]]] t1 torch.Tensor(data1).long() # size2…

【解刊】IEEE(trans),1区TOP,CCF-B,审稿国人友好,最快仅1个月录用!值得收藏~

计算机类 • 好刊解读 今天小编带来IEEE旗下计算机领域高分好刊&#xff0c;CCF-B类推荐的期刊解读&#xff0c;期刊审稿快&#xff0c;投稿友好&#xff0c;如您有投稿需求&#xff0c;可作为重点关注&#xff01;后文有相关领域真实发表案例&#xff0c;供您投稿参考~ 01 期…

1,使用IDLE开启我们第一个Python程序

前面我们已经安装好了Python&#xff0c;安装了Python后&#xff0c;他会自动帮我们安装一个IDLE。IDLE是一个Python自带的非常简洁的集成开发环境&#xff08;IDE&#xff09;。他是一个Python Shell&#xff0c;我们可以利用Python Shell与Python交互。下面我们就利用IDLE开发…

常用的调试方法(段错误产生原因)

C 语言中常用的调试技巧和 demo C语言中常用的调试方法 打印调试信息 GDB 调试器 编写单元测试 段错误产生原因 初学时两种常用的段错误调试方法 C 语言中常用的调试技巧和 demo 当程序员进行调试时&#xff0c;他们通常会使用一些调试语句或技巧来帮助他们理解代码的执行过程…

跟风申请香港优才计划的人,很容易进入骗局和被割韭菜!

跟风申请香港优才计划的人&#xff0c;很容易进入骗局和被割韭菜&#xff01; 不得不承认一个事实就是&#xff0c;越来越多内地人正在抢占申请香港身份的份额&#xff01;就因为这个项目门槛低、投入低&#xff0c;简单来说就是多一层身份&#xff0c;多一层福利保障。 从目前…

Pyqt python 界面代码

1、界面拖动代码 # 拖动 def mousePressEvent(self, event):if event.button() QtCore.Qt.LeftButton and self.isMaximized() False:self.m_flag Trueself.m_Position event.globalPos() - self.pos() # 获取鼠标相对窗口的位置event.accept()self.setCursor(QtGui.QCur…

go - 计算CIDR的主机数量

在网络中&#xff0c;CIDR /32 表示该地址只能用作网络地址本身&#xff0c;不能分配给任何主机。因此&#xff0c;在计算主机数量时&#xff0c;应将 CIDR 地址按照其位掩码长度进行区分。对于 /32 子网掩码&#xff0c;主机数量总是为 1&#xff0c;而不是 -1。 以下是修正后…

二.ts基础类型

ts的基础类型包含js的基础类型和ts独有的基础类型 我们一般使用[let | const | val] 变量&#xff1a;类型 值的方式声明一个带有类型的变量 stringlet val:string 1numberlet val:number 1boolearnlet val:boolaern falseundefindlet val:undefind undefindnulllet val:nul…

Kubernetes实战(九)-kubeadm安装k8s集群

1 环境准备 1.1 主机信息 iphostname10.220.43.203master10.220.43.204node1 1.2 系统信息 $ cat /etc/redhat-release Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle) 2 部署准备 master/与slave主机均需要设置。 2.1 设置主机名 # master h…

成都工业学院Web技术基础(WEB)实验五:CSS3动画制作

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考&#xff0c;前端变化比较大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一样 3、图片和文字仅为示例&#xff0c;需要自行替换 4、如果代码不满足你的要求&#xff0c;请寻求其他的…

使用PyTorch II的新特性加快LLM推理速度

Pytorch团队提出了一种纯粹通过PyTorch新特性在的自下而上的优化LLM方法&#xff0c;包括: Torch.compile: PyTorch模型的编译器 GPU量化:通过降低精度操作来加速模型 推测解码:使用一个小的“草稿”模型来加速llm来预测一个大的“目标”模型的输出 张量并行:通过在多个设备…

成都工业学院Web技术基础(WEB)实验三:CSS字体等属性使用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考&#xff0c;前端变化比较大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一样 3、图片和文字仅为示例&#xff0c;需要自行替换 4、如果代码不满足你的要求&#xff0c;请寻求其他的…

Oracle 慢查询排查步骤

1. Oracle 慢查询排查步骤 1.1. 前言 记录一次 Oracle 慢查询的排查过程 , 便于以后直接使用。 看了一些文档 , Oracle 中优化的方案和 Mysql 基本上是一致的 , 通常包括一下几个方向 : 基准测试 (吞吐量): 包括 Oracle 本身吞吐量和磁盘 I/O 吞吐量 硬件分析 (资源情况): 包…

rails3 row sql example

refer: https://stackoverflow.com/questions/14824453/rails-raw-sql-example 搜索怎么在Rails3 使用row sql&#xff0c; 打开上面的链接&#xff0c;可以找到这样的答案&#xff0c;如下图&#xff1a; sql "Select * from ... your sql query here" records_ar…

Nginx的server层外层的常见配置语句的解读

有下面的Nginx配置: worker_processes auto; worker_rlimit_nofile 51200;events {use epoll;worker_connections 51200;multi_accept on; }http {include mime.types;default_type application/octet-stream;server_names_hash_bucket_size 512;client_max_body_size 50m;cli…

推荐4个优秀的 Python 时间序列分析库

时间序列分析在金融和医疗保健等领域至关重要&#xff0c;在这些领域&#xff0c;理解随时间变化的数据模式至关重要。在本文中&#xff0c;我们将介绍四个主要的Python库——statmodels、tslearn、tssearch和tsfresh——每个库都针对时间序列分析的不同方面进行了定制。这些库…

最长子字符串的长度 (一) - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给你一个字符串 s&#xff0c;字符串s首尾相连成一个环形&#xff0c;请你在环中找出字符出现了偶数次最长子字符串的长度。 输入描述 输入是一串小写字母组成的…

VS2015编译GDAL3.2.0+opencl+C#

参考借鉴https://www.cnblogs.com/litou/p/15004877.html 参考借鉴https://www.cnblogs.com/xiaowangba/p/6313903.html 参考借鉴gdal、proj、geos、sqlite等在VS2015下编译和配置_vs2015编译sqlite3-CSDN博客 参考借鉴Windows下GDAL3.1.2编译 (VS2015)_gdal windows编译-CS…

字符串String

字符串字面量 let s "hello";变量s属于字符串字面量&#xff0c;它们属于硬编码进程序的字符串值&#xff0c;属于不可变的类型。但并不是所有字符串的值都能够在编写代码时确定。 String类型 String类型会在堆上分配到自己需要的存储空间&#xff0c;所以它能够…