SpringCloud入门之Maven系统安装及配置
一、Maven 介绍
这个单词中文翻译为“专家”或“内行”。下面将向你介绍 Maven这一跨平台的项目管理工具。作为 Apache 组织中的一个成功的开源项目,Maven 主要服务于基 Java 平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven 都能大显身手。它是一个异常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。我们不需要也不应该一遍又一遍地输入命令,一次又一次地点击鼠标,我们要做的是使用 Maven 配置好项目,然后输入简单的命令(如mvn clean install),Maven 会帮我们处理那些烦琐的任务。Maven 是跨平台的,这意味着无论是在 Windows 上,还是在 Linux 或者 Mac 上,都可以使用同样的命令。我们一直在不停地寻找避免重复的方法。设计的重复、编码的重复、文档的重复,当然还有构建的重复。Maven 最大化地消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供已实现的插件,我们不再需要定义过程,甚至不需要再去实现这些过程中的一些任务。最简单的例子是测试,我们没必要告诉 Maven 去测试,更不需要告诉 Maven 如何运行测试,只需要遵循 Maven的约定编写好测试用例,当我们运行构建的时候,这些测试便会自动运行。想象一下,Maven 抽象了一个完整的构建生命周期模型,这个模型吸取了大量其他的构建脚本和构建工具的优点,总结了大量项目的实际需求。如果遵循这个模型,可以避免很多不必要的错误,可以直接使用大量成熟的 Maven 插件来完成我们的任务(很多时候我们可能都不知道自己在使用Maven 插件)。此外,如果有非常特殊的需求,我们也可以轻松实现自己的插件。Maven 还有一个优点,它能帮助我们标准化构建过程。在 Maven 之前,十个项目可能有十种构建方式;有了 Maven 之后,所有项目的构建命令都是简单一致的,这极大地避免了不必要的学习成本,而且有利于促进项目团队的标准化。综上所述,Maven 作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。
二、Maven安装
1、 Windows 上安装 Maven
1.1检查JDK环境
在安装 Maven 之前,首先要确认你已经正确安装了 JDK。Maven 可以运行在 JDK 1.4 及以上的版本上。打开 Windows 的命令行,运行如下的命令来检查你的 Java 安装:
java -version
echo %JAVA_HOME%

1.2 下载 Maven
请访问 Maven 的下载页面:http://maven.apache.org/download.html,其中包含针对不同平台的各种版本的Maven 下载文件。本文使用apache-maven-3.3.9,,因此下载 apache-maven-3.3.9-bin.zip。当然,如果你对 Maven 的源代码感兴趣并想自己构建 Maven,还可以下载 apache-maven-3.3.9-src.zip。该下载页面还提供了 md5 校验和(checksum)文件和 asc 数字签名文件,可以用来检验 Maven 分发包的正确性和安全性。从Maven官网下载Maven安装包,解压后文件目录如下:

1.3 配置环境变量
这里的 Maven 安装目录是 G:\project\java\apache-maven-3.3.9,接着需要设置环境变量,将 Maven 安装配置到操作系统环境中。打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为 M3_HOME,变量值为 Maven 的安装目录 G:\project\java\apache-maven-3.3.9。点击确定,接着在系统变量中找到一个名为 Path 的变量,在变量值的末尾加上%M3_HOME%\bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成,详细情况如下图 所示:


1.3 在cmd控制台中,输入mvn -v,查看Maven是否安装成功,。

1.4 配置用户范围 settings.xml
Maven 用户可以选择配置$M2_HOME/conf/settings.xml 或者~/.m2/settings.xml。前者是全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。推荐使用用户范围的 settings.xml,主要原因是为了避免无意识地影响到系统中的其他用户。当然,如果你有切实的需求,需要统一系统中所有用户的 settings.xml 配置,当然应该使用全局范围的 settings.xml。除了影响范围这一因素,配置用户范围 settings.xml 文件还便于 Maven 升级。直接修改 conf 目录下的settings.xml 会导致 Maven 升级不便,每次升级到新版本的 Maven,都需要复制 settings.xml 文件,如果使用~/.m2目录下的 settings.xml,就不会影响到 Maven 安装文件,升级时就不需要触动 settings.xml 文件。
进入$M2_HOME/conf/settings.xml 目录中,修改settings.xml文件中默认的全局依赖下载地址,即本地库,可以输入如"G:/project/java/repository",但这里不建议启用,所以没有打开注释部分。这样整台电脑无论是那个用户的Maven项目下载的依赖包都会默认存放在这个路径下,以后如果有新的项目,需要相同的依赖,会先从该地址中查找,如果没有,再从远处网络库中下载。

进入~/.m2/settings.xml目录中,修改settings.xml文件中默认的用户自定义的依赖下载地址,如图"G:/project/java/repository"即是我的本地库地址。

至此Maven已安装完成
SpringCloud入门之Maven系统安装及配置的更多相关文章
- SpringCloud入门(十): Config 统一配置中心
SpringCloud Config 简介 在分布式系统中,由于服务组件过多,为了方便争对不通的环境下的服务配置文件统一管理,实时更新,所以出现了分布式配置中心组件.市面上开源的配置中心有很多,360 ...
- SpringCloud入门之常用的配置文件 application.yml和 bootstrap.yml区别
作者其他技术文章 1) Spring Boot 简介 2)SpringCloud入门之YAML格式文件规范学习 3)SpringCloud入门之Spring Boot多环境配置切换指南 4) Elas ...
- SpringCloud入门之应用程序上下文服务(Spring Cloud Context)详解
构建分布式系统非常复杂且容易出错.Spring Cloud为最常见的分布式系统模式提供了简单易用的编程模型,帮助开发人员构建弹性,可靠和协调的应用程序.Spring Cloud构建于Spring Bo ...
- 详解Maven用户的配置settings.xml
Maven用户设置 作者其他技术文章 1)Oracle性能优化之查询语句通用原则 2)Redis常用命令 3) SpringCloud入门之常用的配置文件 application.yml和 boots ...
- Maven入门,Maven项目的创建,nexus 2.x搭建私服以及Maven多模块项目创建
maven的了解做一个总结,以便日后查阅, 若有不足之处,还望指出,学无止境 当然也能起到入门效果. 一,搭建maven私服 1.工具 a. Nexus 2.5.1-01 b. Maven 3.3.9 ...
- SpringCloud(2)---SpringCloud入门篇
SpringCloud理解篇 一.微服务概述 1.什么是微服务 目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一 ...
- SpringCloud入门(一)
一.微服务概述 1.什么是微服务 目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事. 与微服务相对的叫巨石 ...
- springcloud 入门 11 (Hystrix Dashboard)
hystrix: 断路器我在前面已经介绍,不了解的可以参考 :springcloud 入门 6 (断路器hystrix) 关于搭建,测试我都在这里面进行说明了,这章介绍的是 Hystrix Das ...
- springcloud 入门 5 (feign源码分析)
feign:(推荐使用) Feign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目. Feign的主要目标是将Java Http ...
随机推荐
- java基础-day26
第03天 java基础加强 今日内容介绍 u BeanUtils概述及使用 u XML简介及约束 u XML解析 第1章 XML简介 1.1 XML基本语法 1.1.1 XML概述 XML全称为 ...
- FPGA&ASIC基本开发流程
FPGA&数字IC笔面试常考系列 题目:简述ASIC设计流程,并列举出各部分用到的工具. ASIC开发基本流程 芯片架构,考虑芯片定义.工艺.封装 RTL设计,使用Verilog.System ...
- MEAN 27
添加评论主题页,在26的基础上. 新建了很多文件 Error: Cannot find module './controllers/customers_c' 解决办法:../ 接下来做function ...
- 在Matlab中安装使用libsvm详细步骤(附图)
今天自己在matlab中安装libsvm,下面是详细的步骤 1.首先下载libsvmhttp://www.csie.ntu.edu.tw/~cjlin/libsvm/我的matlab版本 R2016a ...
- [Chrome_Error] (failed) net::ERR_INCOMPLETE_CHUNKED_ENCODING 与 nginx 502 bad gateway
Chrome 浏览器出现这个错误,还出现 nginx 502 bad gateway . 查看 nginx 的 error.log : 2015/12/18 14:34:44 [error] 1448 ...
- 【C#进阶】拥抱Lambda(二)
语言的设计,真的是挺有意思的.第一次看这个代码[1]时,旁人随口了一句"哇,好多实心句号". 当时马上一个想法是--怎么实现的?返回了对象,然后再调用方法?然后就放下了,后来发现, ...
- MVC+Nhibernate+spring.net(一)
所用数据库是我之前所写的Nhibernate入门篇的数据库https://www.cnblogs.com/pandorabox/p/PandoraBox.html 第一步:创建一个mvc项目 第二步: ...
- CentOS 7 - 创建新用户
当进行服务器操作时,我们尽量不要使用root用户进行操作,特别是当我们使用生产环境时. 本文我们将介绍CentOS 7下用户的创建. 创建新用户 adduser 用户名 更改用户密码 passwd 用 ...
- 【BZOJ3545】 [ONTAK2010]Peaks
BZOJ3545 [ONTAK2010]Peaks Solution 既然会加强版,直接把强制在线的操作去掉就好了. 代码实现 #include<stdio.h> #include< ...
- 201621123018《java程序设计》第13周作业总结
1. 本周学习总结 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多个用户通过网络同时使用,需要为你的系统增加网络功能. 2.1 简述你想为你的系统增加什 ...