一、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. Mysql中的like模糊查询

    MySql的like语句中的通配符:百分号.下划线和escape %代表任意多个字符 _代表一个字符 escape,转义字符后面的%或_,使其不作为通配符,而是普通字符匹配   数据库数据如下: 1. ...

  2. Flask-WTF CSRF 保护P3

    使用FlaskForm处理请求的任何视图函数都已经获得了CSRF保护.如果有些视图函数还在使用FlaskForm或AJAX请求,请尽快使用FlaskForm提供的CSRF扩展来保护它们. 导入 想要为 ...

  3. NIO通讯框架之Mina

          在两三年前,阿堂在技术博客(http://blog.sina.com.cn/heyitang)上曾经写过"JAVA新I/O学习系列笔记(1)"和"JAVA新I ...

  4. 微软云linux服务器FTP文件传输错误解决办法

    在微软云上新建了linux虚拟机之后,通过Xshell连接到服务器(微软云默认的账号是:azureuser,不是root),却发现通过FTP传输文件错误,一直找不到头绪,询问微软云相关人员才知道.FT ...

  5. 使用Gateway-Worker实现多人分组实时聊天 结合第三方tp

    一.基础知识1.Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架.被广泛的用于手机app.移动通讯等领域的开发. 支持TCP长连接,支持Websocket.HTTP等 ...

  6. 调用惯例Calling Convention (或者说:调用约定)

    调用惯例影响执行效率,参数的传递方式以及栈清除的方式.   调用惯例 参数传递顺序 谁负责清除参数 参数是否使用暂存器 register 从左到右 被调用者 是 pascal 从左到右 被调用者 否 ...

  7. [C语言]贪吃蛇_结构数组实现

    一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数 ...

  8. Python数据分析流程

    一.数据分析的步骤: 1.查看数据并提出问题 2.数据清洗 3.代码编写,提取出结果数据,并分析是否有异常数据,修改代码 4.根据数据选择合适的图表进行展示 5.根据图表小组讨论交流获得最终的结果 二 ...

  9. VisualStudio快捷键大全

    Ctrl+m+Crtr+o折叠所有大纲Ctrl+M+Crtr+P: 停止大纲显示Ctrl+K+Crtr+C: 注释选定内容Ctrl+K+Crtr+U: 取消选定注释内容Ctrl+J : 列出成员 智能 ...

  10. HDU1205 吃糖果

    吃糖果 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submis ...