Maven的安装与配置

  • 1. 下载Maven
  • 2. 解压压缩包
  • 3. 添加 M2_HOME 和 MAVEN_HOME
  • 4. 添加到环境变量 - PATH路径下
  • 5. 验证Maven是否成功安装
  • 6. 修改本地仓库位置
  • 7. 添加Maven阿里云仓库,设置jdk版本为1.8
  • 8. 在IDEA中修改Maven的地址
  • 9. 附录: setting.xml文件作为参考

1. 下载Maven

访问 Maven官方网站 http://maven.apache.org/download.cgi
找到以下链接并下载

2. 解压压缩包

下载 Maven 的 zip 文件,例如: apache-maven-3.6.1-bin.zip,将它解压到你要安装 Maven 的文件夹。
此时我解压的路径在 D:\developer_tools\下

3. 添加 M2_HOME 和 MAVEN_HOME

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

4. 添加到环境变量 - PATH路径下

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

5. 验证Maven是否成功安装

执行 mvn –version 在命令提示符下,如下图输出结果:

C:\Users\Wu Hao>mvn -version Apache Maven 3.6.1
(d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: D:\developer_tools\apache-maven-3.6.1\bin… Java version:
1.8.0_212, vendor: Oracle Corporation, runtime: D:\developer_tools\Java\jdk1.8.0_212\jre Default locale: zh_CN,
platform encoding: GBK OS name: “windows 10”, version: “10.0”, arch:
“amd64”, family: “windows”

则成功安装Maven

6. 修改本地仓库位置

每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。

Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

<localRepository>D:\developer_tools\RepMaven</localRepository>

配置位置如图所示:

7. 添加Maven阿里云仓库,设置jdk版本为1.8

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

  1. 修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上
<mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        </mirror>
</mirrors>


2. 在 conf 文件夹setting.xml中的 <profiles>节点添加以下内容

<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>
  1. 项目的pom.xml文件里添加
<repositories>  <repository>  <id>alimaven</id>  <name>aliyun maven</name>  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  <releases>  <enabled>true</enabled>  </releases>  <snapshots>  <enabled>false</enabled>  </snapshots>  </repository>
</repositories>

8. 在IDEA中修改Maven的地址

将如图所示地址修改成个人的安装目录即可。


9. 附录: setting.xml文件作为参考

<?xml version="1.0" encoding="UTF-8"?><!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
--><!--| This is the configuration file for Maven. It can be specified at two levels:||  1. User Level. This settings.xml file provides configuration for a single user,|                 and is normally provided in ${user.home}/.m2/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -s /path/to/user/settings.xml||  2. Global Level. This settings.xml file provides configuration for all Maven|                 users on a machine (assuming they're all using the same Maven|                 installation). It's normally provided in|                 ${maven.conf}/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -gs /path/to/global/settings.xml|| The sections in this sample file are intended to give you a running start at| getting the most out of your Maven installation. Where appropriate, the default| values (values used when the setting is not specified) are provided.||-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.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>--><localRepository>D:\developer_tools\RepMaven</localRepository><!-- interactiveMode| This will determine whether maven prompts you when it needs input. If set to false,| maven will use a sensible default value, perhaps based on some other setting, for| the parameter in question.|| Default: true<interactiveMode>true</interactiveMode>--><!-- offline| Determines whether maven should attempt to connect to the network when executing a build.| This will have an effect on artifact downloads, artifact deployment, and others.|| Default: false<offline>false</offline>--><!-- pluginGroups| This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.| when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers| "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.|--><pluginGroups><!-- pluginGroup| Specifies a further group identifier to use for plugin lookup.<pluginGroup>com.your.plugins</pluginGroup>--><pluginGroup>com.spotify</pluginGroup></pluginGroups><!-- proxies| This is a list of proxies which can be used on this machine to connect to the network.| Unless otherwise specified (by system property or command-line switch), the first proxy| specification in this list marked as active will be used.|--><proxies><!-- proxy| Specification for one proxy, to be used in connecting to the network.|<proxy><id>optional</id><active>true</active><protocol>http</protocol><username>proxyuser</username><password>proxypass</password><host>proxy.host.net</host><port>80</port><nonProxyHosts>local.net|some.host.com</nonProxyHosts></proxy>--></proxies><!-- servers| This is a list of authentication profiles, keyed by the server-id used within the system.| Authentication profiles can be used whenever maven must make a connection to a remote server.|--><servers><!-- server| Specifies the authentication information to use when connecting to a particular server, identified by| a unique name within the system (referred to by the 'id' attribute below).|| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are|       used together.|<server><id>deploymentRepo</id><username>repouser</username><password>repopwd</password></server>--><!-- Another sample, using keys to authenticate.<server><id>siteServer</id><privateKey>/path/to/private/key</privateKey><passphrase>optional; leave empty if not used.</passphrase></server>--></servers><!-- mirrors| This is a list of mirrors to be used in downloading artifacts from remote repositories.|| It works like this: a POM may declare a repository to use in resolving certain artifacts.| However, this repository may have problems with heavy traffic at times, so people have mirrored| it to several places.|| That repository definition will have a unique id, so we can create a mirror reference for that| repository, to be used as an alternate download site. The mirror site will be the preferred| server for that repository.|--><mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        </mirror></mirrors><!-- profiles| This is a list of profiles which can be activated in a variety of ways, and which can modify| the build process. Profiles provided in the settings.xml are intended to provide local machine-| specific paths and repository locations which allow the build to work in the local environment.|| For example, if you have an integration testing plugin - like cactus - that needs to know where| your Tomcat instance is installed, you can provide a variable here such that the variable is| dereferenced during the build process to configure the cactus plugin.|| As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles| section of this document (settings.xml) - will be discussed later. Another way essentially| relies on the detection of a system property, either matching a particular value for the property,| or merely testing its existence. Profiles can also be activated by JDK version prefix, where a| value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.| Finally, the list of active profiles can be specified directly from the command line.|| NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact|       repositories, plugin repositories, and free-form properties to be used as configuration|       variables for plugins in the POM.||--><profiles><!-- profile| Specifies a set of introductions to the build process, to be activated using one or more of the| mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>| or the command line, profiles have to have an ID that is unique.|| An encouraged best practice for profile identification is to use a consistent naming convention| for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.| This will make it more intuitive to understand what the set of introduced profiles is attempting| to accomplish, particularly when you only have a list of profile id's for debug.|| This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.<profile><id>jdk-1.4</id><activation><jdk>1.4</jdk></activation><repositories><repository><id>jdk14</id><name>Repository for JDK 1.4 builds</name><url>http://www.myhost.com/maven/jdk14</url><layout>default</layout><snapshotPolicy>always</snapshotPolicy></repository></repositories></profile>--><!--| Here is another profile, activated by the system property 'target-env' with a value of 'dev',| which provides a specific path to the Tomcat instance. To use this, your plugin configuration| might hypothetically look like:|| ...| <plugin>|   <groupId>org.myco.myplugins</groupId>|   <artifactId>myplugin</artifactId>||   <configuration>|     <tomcatLocation>${tomcatPath}</tomcatLocation>|   </configuration>| </plugin>| ...|| NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to|       anything, you could just leave off the <value/> inside the activation-property.|<profile><id>env-dev</id><activation><property><name>target-env</name><value>dev</value></property></activation><properties><tomcatPath>/path/to/tomcat/instance</tomcatPath></properties></profile>--><profile><id>jdk1.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></profiles><!-- activeProfiles| List of profiles that are active for all builds.|<activeProfiles><activeProfile>alwaysActiveProfile</activeProfile><activeProfile>anotherAlwaysActiveProfile</activeProfile></activeProfiles>--><activeProfiles><activeProfile>jdk1.8</activeProfile></activeProfiles>
</settings>

非常详细的Maven安装与配置教程相关推荐

  1. (图文详细)AppServer安装及配置教程

    (图文详细)AppServ安装及配置教程 一.AppServ简介 二.下载AppServ并安装 三.检查是否成功及配置 (图文详细)AppServ安装及配置教程 一.AppServ简介 AppServ ...

  2. 超级详细的Vue安装与配置教程

    Vue web前端三大主流框架之一,是一套用于构建用户界面的渐进式框架,下面这篇文章主要给大家介绍了关于Vue安装与配置教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下 − 目录 一. ...

  3. 超级详细的mysql安装和配置教程

    文章目录 一.mysql的下载 百度云链接: 官网下载操作说明: 二.配置环境变量 三.Mysql的配置与安装 1.新建my.ini文件 2. 安装mysql 3.修改密码 一.mysql的下载 参考 ...

  4. 踩坑篇,多达21页的,超级详细的Oracle安装和配置教程,没有之一

    由于文档直接复制到博客,图片会转存失败.所以下面贴出几张长图.完整的pdf文档下载: https://download.csdn.net/download/qq_43290318/13724306

  5. maven安装和配置阿里云镜像(各种详细配置)

    maven安装和详细配置 maven安装和配置阿里云镜像(各种详细配置) 提示:下面是maven3.6.3版本百度云链接,记住maven3.3以上版本必须安装jdk1.7及以上版本,否则会出错. 链接 ...

  6. Tomcat安装及配置教程(超详细的图文教程)(亲测)

    Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...

  7. maven安装及配置(超详细)

    maven安装及配置(超详细) 大家好,今天我们来学习一下maven安装及配置,好好看,好好学,超详细的 第一步 进入maven官网下载,如下图所示: 第二步 下载好压缩包或解压到除了c盘任意一个盘, ...

  8. 组网神器WireGuard安装与配置教程(超详细)

    文章目录 01 引言 02 安装教程 2.1 前提条件 2.2 wireguard安装 2.2.1 步骤一: 安装wireguard 2.2.2 步骤二: 服务端生成秘钥对 2.2.3 步骤三: 配置 ...

  9. Nginx安装及配置教程

    Nginx安装及配置教程 Nginx安装及配置详细教程 Nginx安装及配置过程中遇到的问题 遇到的问题的解决方案 Nginx安装及配置详细教程 Nginx安装及配置教程很多,但是哪一个适合自己,还需 ...

  10. Termux 高级终端安装使用配置教程

    Termux 高级终端安装使用配置教程,这篇文章拖了有小半年.因为网上相关的文章相对来说还是比较少的,恰好今天又刷了机,所以就特意来总结一下,希望本文可以帮助到其他的小伙伴.发挥Android平台更大 ...

最新文章

  1. XP系统的用户头像是在那个文件夹里面
  2. hbase shell-namespace(命名空间指令)
  3. 如何配置 SQL Server 2005 以允许远程连接
  4. android 定位服务 耗电吗,关于Android的定位服务
  5. UNITY UI字体模糊的原因
  6. 字节跳动2019暑期实习生算法岗笔试题
  7. 中专选计算机应用很难,对中专计算机应用基础改革的思考.pdf
  8. 使用Kubeadm创建k8s集群之部署规划(三十一)
  9. Gartner:70%新应用由低代码开发,AI热潮后小数据崛起
  10. 如何在本机使用正式版的SAP Business One的Common库的Lisence服务
  11. java基础----Serializable的使用---- http://www.cnblogs.com/huhx/p/serializable.html
  12. docker教程_1 简介和安装
  13. 【概率论与数理统计】1.2 概率的定义及其确定方法
  14. oracle数据库三大日志,Oracle 数据库日志和用户日志位置
  15. 报错Installation failed with message INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.tencent.qcloud.timch
  16. 4种工资条制作方法,总有一款适合你
  17. c#运用——简体字转繁体字
  18. Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI !(附带Demo)
  19. matlab sisotool工具DEMO
  20. 图像自动裁剪和角度矫正

热门文章

  1. css实现LED液晶数码字体
  2. 信息安全-工控安全需求分析与安全保护工程
  3. 精通开关电源设计(一)
  4. vc2010以及VS2019安装使用教程
  5. VS2017中无法识别PlaySound标识符解决办法(《逐梦旅程:Windows游戏编程之从零开始》FirstBlood篇)
  6. asp.net门诊收费管理系统
  7. Python 快速验证代理IP是否有效
  8. 计算机五笔教案ppt,计算机基础课件五笔打字.ppt
  9. VC2008编译libthrift
  10. 动易 dw css不对,动易模板制作示.doc