一、Maven 基本安装

1. 下载

首先来到 http://maven.apache.org/download.cgi ,直接下载以 -bin.zip 结尾的文件,如图

2. 存储位置

将其解压后,考虑与 jdk 一起放到 C 盘,方便管理:

3. 配置 MVN_HOME 系统环境变量

这一步的配置类似于 JAVA_HOME,其路径值也只需指向文件夹所在位置即可,比如 C:\Program Files\Java\apache-maven-3.3.1,切记不要加 \bin。

4. 配置 path 系统环境变量

基于 MVN_HOME 的配置,将路径引导到 \bin 目录下:

path:%JAVA_HOME%\bin; %MVN_HOME%\bin;

5. 新版本升级

每当有新版本的 Maven 下载到本地时,只需要把 %MVN_HOME% 的路径指向新版本 Maven 的所在物理路径,其他一律不需要变动,这也是设置 MVN_HOME 的意义所在。

最后重启 cmd,运行 mvn -v 就可以检查新版本号了。

二、settings.xml 配置文件

安装 Maven 完毕后,为便于管理一般还可以针对其“依赖包”的存储位置进行指定。

1. 配置 localRepository 节点

确定好依赖包要存储的路径位置,然后修改 localRepository 属性,该路径可自由指定:

<localRepository>D:\Maven-3.3.9\repository</localRepository>

该地址的内容如图:

提醒:如果 Intellij Idea 中自定义了 Maven,务必确保“Local repository”与此处配置的 localRepository 相同,以方便统一管理。

2. 配置镜像 mirror

有时候默认的镜像地址属于国外网站导致访问不畅,所以有必要进行替换。

  • 国外

    <mirror>
     <id>mirrorId</id>
     <name>Human Readable Name for this Mirror.</name>
     <url>http://repo1.maven.org/maven2</url>
     <mirrorOf>central</mirrorOf>
    </mirror>
  • 国内(阿里云镜像:http://maven.aliyun.com/nexus/#welcome

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

这样,所有的 jar 包依赖项都会从新指定的 url 中下载。

三、与 IDEA 结合

我没有使用 IDEA 自带的 Maven,一方面是因为它的版本偏低,另外该版本与自己安装的 Maven 版本也不一致,容易导致不一致的结果,于是索性就放弃了 IDEA 自带的 Maven。

1. 基础配置

IDEA 中配置 Maven 的位置如图:

  • 指定 Maven home directory 为 E:\Java\apache-maven-3.3.9,即 Maven 所安装的位置。

  • 指定 User settings file 为 E:\Java\apache-maven-3.3.9\conf\settings.xml,同样也指定到 Maven 所安装的位置的 settings.xml 文件。

  • 指定 Local repository 为期望的存储位置,务必确保该地址与 settings.xml 中 localRepository 相同,即都是 D:\Maven-3.3.9\repository

    <localRepository>D:\Maven-3.3.9\repository</localRepository>

2. 运行时配置(Runner)

为了在任何时候能应用到这个配置,需要指定配置“For default project”。

  • 一劳永逸式配置

设置路径 File->Other Settings->Default Settings,如图:

接着选中 Maven / Runner,设置 VM Options 的值为“-DarchetypeCatalog=internal”:

  • 临时配置

另一种配置方式是“即时配置”,也就是每次在创建 artifact 时顺便予以配置:

如上图的 archetypeCatalog=internal,这样在创建相关组件模板时就只基于本地已有的组件来创建,不再因网络延时而导致异常。
archetypeCatalog 的值有三种:

  1. internal——maven-archetype-plugin内置的
  2. local——本地的,位置为~/.m2/archetype-catalog.xml
  3. remote——指向Maven中央仓库的Catalog

通过以上的三步配置,Maven 和 IDEA 的结合使用就比较有条理了,特别强调的是务必要将依赖包的位置进行统一,避免重复下载。

Maven 结合 IDEA 入门实践的更多相关文章

  1. 分布式学习系列【dubbo入门实践】

    分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...

  2. 这是一次 docker 入门实践

    前言 其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧. 实现目标 安装 docker ce ...

  3. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

  4. Spring Boot WebFlux 快速入门实践

    02:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ( ...

  5. Spring Boot WebFlux-01——WebFlux 快速入门实践

    第01课:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ...

  6. sass、less和stylus的安装使用和入门实践

    刚 开始的时候,说实话,我很反感使用css预处理器这种新玩意的,因为其中涉及到了编程的东西,私以为很复杂,而且考虑到项目不是一天能够完成的,也很少是 一个人完成的,对于这种团队的项目开发,前端实践用c ...

  7. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  8. Django入门实践(三)

    Django入门实践(三) Django简单应用 前面简单示例说明了views和Template的工作过程,但是Django最核心的是App,涉及到App则会和Model(数据库)打交道.下面举的例子 ...

  9. Django入门实践(二)

    Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...

随机推荐

  1. 201521123117 《Java程序设计》第9周学习总结

    1. 本周学习总结 2. 书面作业 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 经常出现Numbe ...

  2. 201521123022 《Java程序设计》 第十三周学习总结

    1. 本周学习总结 2. 书面作业 Q1. 网络基础 Q1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 前者IP ...

  3. 201521123048 《java程序设计》 第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  4. JAVA课程设计-购物车 (201521123101 柏清晔)

    1.团队课程设计博客链接 /[团队博客链接]http://www.cnblogs.com/yayaya/p/7062197.html 2.个人负责模板或任务说明 1.连接数据库 2.修改购物车的jsp ...

  5. 快递鸟顺丰物流api接口对接多种方法整理

    目前很多自营电商平台.ERP系统.仓储系统.快递柜企业,对物流模块数据需求还是比较旺盛的.之前有介绍过简单的接口对接方法,这次给大家整理介绍两种快递数据的获取方法. 接口秘钥可以向顺丰公司申请,或者一 ...

  6. JavaEE error整理(不断更新)

    该文章用于整理开发中遇到的一些错误,及解决方法,不断整理更新. 1. 缺包异常 异常1:java.lang.NoClassDefFoundError: org/apache/commons/loggi ...

  7. firebug离线安装方法-拖入法

    这里介绍的是如何在Firefox中离线安装firebug插件. 1, 下载firebug离线包, 一般就是一个*.xpi文件; 2, 打开Firefox浏览器,直接将*.xpi文件拖入Firefox浏 ...

  8. ToStringBuilder学习总结

    一.简介与引入   1.ToStringBuilder.HashCodeBuilder.EqualsBuilder.ToStringStyle.ReflectionToStringBuilder.Co ...

  9. .NET Core 使用RabbitMQ

    RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的 ...

  10. Cross the GreateWall方案

    涉及Client端和Server端 服务端:SS搭建 注意:以Ubuntu环境为例 Step1:添加GPG Public key wget -O- http://shadowsocks.org/deb ...