一、简介

Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理

  • 何为构建

除了编写源代码,我们每天有相当一部分时间花在了编译、运行单元测试、生成文档、打包和部署等烦琐且不起眼的工作上,这就是构建。

二、安装

1.检查JDK安装

执行如下命令,检查JDK的安装情况

echo %JAVA_HOME%

java -version

2.maven安装

(1)去官网下载maven,解压,

(2)然后设置环境变量(建议设置用户环境变量)

M2_HOME=C:\dev-env\Maven\apache-maven-3.5.4
PATH=%M2_HOME%\bin

(3)验证

echo %M2_HOME%

mvn -v

三、基础知识

1.安装目录分析

目录 分析
bin (1)该目录包含了mvn运行的脚本,(2)这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。
boot 包含一个类加载器框架:plexus-classworlds-2.5.2.jar
conf (1)包含一个全局配置文件 settings.xml ,(2)一般情况下,推荐将该文件复制到 ~/.m2/ 目录下,然后修改该文件,在用户范围定制Maven的行为。
lib 包含所有maven运行时需要的Java类库

2.设置HTTP代理

若想使Maven通过代理服务器来下载jar包,则需要为Maven配置HTTP代理

2.1 确认代理服务器畅通

telnet ip 端口

如果telnet连接正确,则输入ctrl+],然后q,回车,退出即可。

2.2 修改用户配置

检查完毕之后,编辑 ~/.m2/settings.xml 文件(如果没有该文件,则复制 $M2_HOME/conf/settings.xml )。

添加代理配置如下:

<settings >
...
<proxies>
<proxy>
<id>my-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>192.168.12.107</host>
<port>3128</port>
<!--
<username>proxyuser</username>
<password>proxypass</password>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
-->
</proxy>
</proxies>
...
</settings>
  • 当代理服务需要认证时,就需要配置username和password。
  • nonProxyHost元素用来指定哪些主机名不需要代理,可以使用“|”符号来分隔多个主机名。且可使用通配符 *

四、最佳实践

1.设置MAVEN_OPTS环境变量

运行mvn命令实际上是执行了Java命令,通过 MAVEN_OPTS 可设置 jvm参数。

通常需要设置MAVEN_OPTS的值为-Xms128m-Xmx512m,

因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目站点需要占用大量的内存,如果没有该配置,则很容易得到java.lang.OutOfMemeoryError。因此,一开始就配置该变量是推荐的做法。

2.配置用户范围settings.xml

配置文件 适用范围 描述
$M2_HOME/conf/settings.xml 全局范围 整台机器上的所有用户都会直接受到该配置的影响
~/.m2/settings.xml 用户范围 只有当前用户才会受到该配置的影响

推荐使用用户范围的settings.xml,主要是:

  • 避免无意识地影响到系统中的其他用户
  • 方便Maven版本升级

3.不要使用IDE内嵌的Maven

原因:

  • 版本新,可能不稳定
  • 与命令行的maven不一致

因此,应该在IDE中配置Maven插件时使用与命令行一致的Maven。

maven_01_简介及安装的更多相关文章

  1. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  2. Java Gradle入门指南之简介、安装与任务管理

        这是一篇Java Gradle入门级的随笔,主要介绍Gradle的安装与基本语法,这些内容是理解和创建build.gradle的基础,关于Gradle各种插件的使用将会在其他随笔中介绍.    ...

  3. 细细品味Storm_Storm简介及安装

    Storm是由专业数据分析公司BackType开发的一个分布式实时数据处理软件,可以简单.高效.可靠地处理大量的数据流.Twitter在2011年7月收购该公司,并于2011年9月底正式将Storm项 ...

  4. VMware vSphere 5.1 简介与安装

    虚拟化系列-VMware vSphere 5.1 简介与安装  标签: 虚拟化 esxi5.1 VMware vSphere 5.1 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  5. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  6. Node.js的简介和安装

    一.Node.js的简介和安装 a)       什么是Node.js? Node.js是一个开发平台 让JavaScript运行在服务器端的开发平台 ---简单点说就是用JavaScript写服务器 ...

  7. Nutch之简介与安装

    初学Nutch之简介与安装 初学Nutch之简介与安装   1.Nutch简介 Nutch是一个由Java实 现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其 ...

  8. Nutch搜索引擎Solr简介及安装

    Nutch搜索引擎(第2期)_ Solr简介及安装   1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...

  9. DNN简介以及安装

    开源框架DNN简介以及安装 donetnuke 是一款免费的开源cms框架,目前也有收费版,不过免费版也可以适应大家大部分的需求.我前些阵子是老板让我在20天内,做好一个官网并且发布,并且指定使用dn ...

随机推荐

  1. yarn nodes label (yarn 划分子集群)

    yarn node labels 特性给节点打标签可以把特性类似的节点分成一组,这样可以指定特定的应用执行在特定的机器群上.现在我们只支持节点划分,1.一个节点仅能有一个节点划分,即一个节点只能打一个 ...

  2. spark[源码]-Pool分析

    概述 这篇文章主要是分析一下Pool这个任务调度的队列.整体代码量也不是很大,正好可以详细的分析一下,前面在TaskSchedulerImpl提到大体的功能,这个点在丰富一下吧. DAGSchedul ...

  3. 页面渲染是否结束 与 jquery插件方法是否可以应用

    只有页面全部 渲染结束,才可以调用 插件的方法. 正确写法: $(function(){ 插件调用方法. })

  4. COGS 197 [HAOI2008] 排名系统

    ★★★☆   输入文件:rank.in   输出文件:rank.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] 排名系统通常要应付三种请求:上传一条新的得分记录.查询 ...

  5. POJ-1458 LCS(线性动态规划)

    此题经典线性动态规划. 代码如下: #include<iostream> #include<cstdio> #include<cstdlib> #include&l ...

  6. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  7. Spring中Bean生命周期

    Spring中的bean生命周期是一个重要的点,只有理解Bean的生命周期,在开发中会对你理解代码是非常有用的.对于Bean的周期,个人认为可以分为四个阶段.第一阶段:Bean的实例化,在该阶段主要是 ...

  8. .Net Core Linux部署之进程守护 Supervisor 安装配置

    1.Supervisor 安装 //安装easy_install yum install python-setuptools //安装Supervisor easy_install superviso ...

  9. 【GAN】GAN的原理及推导

    把GAN的论文看完了, 也确实蛮厉害的懒得写笔记了,转一些较好的笔记,前面先贴一些 原论文里推理部分,进行备忘. GAN的解释 算法流程 GAN的理论推理 转自:https://zhuanlan.zh ...

  10. apache解压版安装服务

    解压版也就是绿色版 到apache/bin目录 然后运行下面命令 httpd.exe -k install -n "Apache24" 如果要卸载服务的话,就是下面这个命令 htt ...