Maven的核心解压与配置
Maven的核心解压与配置
@
1. Maven 官网地址
首页:Maven – Welcome to Apache Maven(opens new window)

下载页面:
Maven – Download Apache Maven(opens new window)

下载链接:https://maven.apache.org/download.cgi
2. 解压Maven核心程序
和Tomcat 是一样的,将下载的安装包,解压便是下载了,需要注意的是:解压的路径不可以有中文,以及空格
核心程序压缩包:apache-maven-3.8.4-bin.zip,解压到非中文、没有空格的目录。例如:

3. 指定本地仓库
解压安装到指定要求的目录中以后,我们需要对 Maven进行一个配置。
而关于 Maven 的配置,都是在其中解压安装的 Maven 的conf/settings.xml 这个 xml 文件当中。该 settings.xml是 Maven的核心配置文件。基本上所有关于 Maven的配置都是在这个文件配置的。如下是:

这里我使用的是 Notepad++ 打开的,大家可以使用其他的,编译应用打开,不建议使用记事本打开,因为记事本,没有代码高亮,如何出错。

配置本地仓库:
所谓的本地仓库:就是一个关于 Maven的一些依赖的jar,war 等等的安装位置,类似于我们运用 Git 工具进行一个版本控制的本地仓库。
本地仓库默认值:用户家目录/.m2/repository。由于本地仓库的默认位置是在用户的家目录下,而家目录往往是在 C 盘,也就是系统盘。将来 Maven 仓库中 jar 包越来越多,仓库体积越来越大,可能会拖慢 C 盘运行速度,影响系统性能。所以建议将 Maven 的本地仓库放在其他盘符下。
对于:Maven的本地仓库的配置要运用的是:<localRepositoryXXX</localRepository> 这个标签,如下,我们可以看到,在Maven 当中的 settings.xml 配置文件当中是被其默认注释掉了。

我们只需要将其复制出来,并把其中注释去了,在其中配置好我们本地仓库的路径就可以了。如下:

上面配置的路径对于的文件不存在的话,等执行构建命令时 Maven 会自行创建出来的,当然,为了防止出错,什么权限不足等等问题,你也可以先创建出来,一般都是可以自行创建出来的。
注意: 该配置的本地仓库的路径,不可以有中文,也不可以有空格,要用全英文字母。
配置方式如下:
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!--配置 Maven的本地仓库-->
<!-- 这个目录可以等执行构建命令时 Mavnen 自行创建出来-->
<localRepository>G:\devData\maven-repository</localRepository>
本地仓库这个目录,我们手动创建一个空的目录即可。记住:一定要把 localRepository 标签从注释中拿出来。注意:本地仓库本身也需要使用一个非中文、没有空格的目录。
4. 配置阿里云提供的镜像仓库
配置好 Maven的本地仓库接下来就是,配置 Mavne 的镜像仓库了。
所谓的镜像仓库: 主要就是对于,我们访问国外的一些信息资源过慢,而本国对其信息资源进行一个拷贝。如果我们下载国外的资源速度比较慢的时候,我们可以通过找到其镜像仓库,通过本国的镜像仓库中找到其对于的资源,进行一个下载。
什么我们访问国外的资源比较慢:因为距离过远了,光缆可能走的是地下的,又走海上的等等,距离过远,还可能被各种环境因素影响到。
而我们的 Maven 下载的 jar 包资源,默认访问就是国外的中央仓库(注意:在Maven 当中,中央仓库就只有一个。),因为 Maven国外开发的吗?而国外网站速度很慢。所以这里,我们改成阿里云提供的镜像仓库,访问国内网站,可以让 Maven 下载 jar 包的时候速度更快。注意:这里我们改的只是为,中央仓库配置一个备用,并不是修改了中央仓库,中央仓库还是国外的,当中央仓库无法访问到的时候,走的,访问的就是我们配置的镜像仓库了。
配置Maven的镜像仓库需要使用到的标签是:<mirror>XXXX</mirror> 需要注意的一点就是:该标签是在:<mirrors></mirrors> 标签定义的。如下:Maven 默认是注释掉了的。

如下就是阿里云提供的镜像仓库。大家复制,粘贴过去就好了,注意该 标签是在 标签下的。
将下面 mirror 标签整体复制到 settings.xml 文件的 mirrors 标签的内部。
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

5. 配置 Maven 工程的基础 JDK 版本
Maven 是由 java程序编写的,需要通过JDK编译,启动运行。
这里我们需要配置以下,Maven 运行编译的 JDK版本,尽量如自己安装的,JDK版本对应上就可以了。
如果按照默认配置运行,Java 工程使用的默认 JDK 版本是 1.5,而我们熟悉和常用的是 JDK 1.8 版本。修改配置的方式是:
使用 <profile>XXX</profile>标签进行配置。默认Maven是将其注释掉了,如下:

注意:该标签是在 内的,不要放错位置了如下:

<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
6. 配置环境变量
Maven 是一个用 Java 语言开发的程序,它必须基于 JDK 来运行,所以,我们需要先将 JDK的环境变量配置好,这里我就不多说明了。因为这里我们只要将的是 Maven 。
我们可以先检查一下 java的环境变量是否存在问题:使用命令 java -version。 如下,我这里的 java 环境变量是没有问题的。

下面我们来配置:Maven 的环境变量:
点击系统变量,点击新建:


变量名: MAVEN_HOME
变量值: G:\dev\apache-maven-3.8.8
注意:这里的路径是 Maven 安装路径当中的 bin 目录的上一层。如下图:

后再配置 PATH



%MAVEN_HOME%\bin
配置好以后,注意要点击 三个确定 ,一个都不能少。
配置环境变量的规律:
XXX_HOME 通常指的都是 bin 目录的上一级目录。
PATH的配置一般都是再上次配置的 XXX_HOME 的变量名,加上两个% 百分号,以及bin 。比如%XXX_HOME%\bin。
测试,我们的Maven 是否安装成功:
打开 命令行窗口 Win + R, ——> cmd ,如下有版本信息显示,基本上就没有什么问题了。
mvn -v # mvn 表示的是 Maven的简写

7. 最后:感谢
该文章参考了,如下博主的分享。我们再此,真诚的感谢博主的技术的热情的分享。
感谢如下博主的分享
【1】:兵器|代码重工

Maven的核心解压与配置的更多相关文章
- Mysql 5.6 解压版配置方案
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-co ...
- MySQL解压版配置步骤
mysql-5.7.14-winx64\bin配置到Path中 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini添加如下 [mysqld] basedir=C:\\ ...
- mysql解压版配置
2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Program Files\MySQL\mysql-5.6.13-win32" ...
- Tomcat解压版配置详解(Tomcat8示例)
注:请在JDK安装后操作以下内容 1. 下载Tomcat解压缩安装包 http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.45/bin/apac ...
- MySQL解压版配置步骤详细教程
解压mysql到D盘根目录 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini内容如下 [client]default-character-set=utf8 [mys ...
- can not create symbolic link HDFS解压自动配置lib报错。
如题,使用FusionInsight解压生成样例代码的时候报错,找不到解释.只猜测是权限问题.然后并没有仔细静心思考,心里杂念很多,很浮躁. 解决方法是“以管理员身份运行“. 想想高中:面对问题,不能 ...
- window环境mysql解压版配置
1.下载并解压 到官网下载mysql-5.5.10-win32.zip,然后将mysql解压到任意路径,如:C:\mysql-5.5.10-win32 2.设置环境变量 打开计算机->属性-&g ...
- Mysql解压版配置环境等
背景故事:安装版的mysql和我的本本有仇,最后一步老卡死 1.首先先把下载好的压缩包解压,如下图:
- mysql-5.7.14-winx64解压版配置
1.下载最新的MySQL文件并且解压 我的位置是 F:\mysql-5.7.14-winx64 2.F:\mysql-5.7.14-winx64\bin; 添加到环境变量-系统变量-PATH下 3.复 ...
- Maven使用详解
Maven使用详解 世间万物相生相克,今年本来的目标是主要研究asp.net mvc以及windows平台相关的DI, ORM框架,突然有一天想研究一个Java EE里面相应的框架都是怎么玩的,于是研 ...
随机推荐
- python实现批量运行命令行
python实现批量运行命令行 背景: 对于不同参数设置来调用同一个接口,如果手动一条条修改再运行非常慢且容易出错.尤其是这次参数非常多且长.比如之前都是输入nohup python -u exe.p ...
- parameter常数及常数函数的使用
模型功能 常数在verilog设计中具备特殊的含义 一个可以由编译器进行处理的数 和C语言中常数一个不变的变量的作用不同 在verilog中,常数更多地作为预编译变量以提高设计的灵活性 在上一篇文章中 ...
- Lab2:System Call
trace 该系统调用程序,可以跟踪其他的系统调用命令,该系统调用的形参为一个整数掩码.其具体实参为1 << sys_call所得到的整数值,sys_call是一个系统调用指令在内核中定义 ...
- C++移动构造与std::move()
背景及问题 如下程序所示: #include<iostream> class MyString { public: MyString() = default; MyString(const ...
- redis单机部署出现READONLY You can't write against a read only
(error) READONLY You can't write against a read only replica. 以上错误一般只会出现在主从集群配置中,可是我这里是redis单机配置,居然也 ...
- Linux——ssh登录很慢解决方法
1.背景 在同一机房中,有多台安装了CentOS 7操作系统的服务器,它们的配置除了IP地址不同外基本相同.这些服务器的资源利用率都不高,但在使用SSH连接时,发现有几台服务器连接速度较慢,可能需要等 ...
- #状压dp,拓扑排序,内向基环树#CF1242C Sum Balance
题目 有 \(k\) 个盒子, 第 \(i\) 个盒子有 \(n_i\) 个数. 保证所有数互不相同. 从每个盒子各拿出一个数, 并按照某种顺序放回去(每个盒子恰好放入一个数). 判断是否能使操作后所 ...
- Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
目录 简介 Spring基础 Core核心技术 Testing测试 Data Access Web Servlet Web Reactive 总结 简介 是什么让java世界变得更好,程序员变得更友爱 ...
- hive窗口分析函数使用详解系列一
1.综述 Hive的聚合函数衍生的窗口函数在我们进行数据处理和数据分析过程中起到了很大的作用 在Hive中,窗口函数允许你在结果集的行上进行计算,这些计算不会影响你查询的结果集的行数. Hive提供的 ...
- C++ 虚函数详解:多态性实现原理及其在面向对象编程中的应用
在面向对象的编程中,多态性是一个非常重要的概念.多态性意味着在不同的上下文中使用同一对象时,可以产生不同的行为.C++是一种面向对象的编程语言,在C++中,虚函数是实现多态性的关键 什么是虚函数 虚函 ...