Maven实战. 2.7Maven安装最佳实践

2.7Maven安装最佳实践
本节介绍一些在安装Maven过程中不是必须的,但十分有用的实践。
2.7.1设置MAVEN_OPTS环境变量
前面介绍Maven安装目录时我们了解到,运行mvn命令实际上是执行了Java命令,既然是运行Java,那么运行Java命令可用的参数当然也应该在运行mvn命令时可用。这个时候,MAVEN_OPTS环境变量就能派上用场。
通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目站点需要占用大量的内存,如果没有该配置,则很容易得到java.lang.OutOfMemeoryError。因此,一开始就配置该变量是推荐的做法。
关于如何设置环境变量,请参考前面设置M2_HOME环境变量的做法,尽量不要直接修改mvn.bat或者mvn这两个Maven执行脚本文件。因为如果修改了脚本文件,升级Maven时就不得不再次修改,一来麻烦,二来容易忘记。同理,应该尽可能地不去修改任何Maven安装目录下的文件。
2.7.2配置用户范围settings.xml
Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
推荐使用用户范围的settings.xml,主要是为了避免无意识地影响到系统中的其他用户。如果有切实的需求,需要统一系统中所有用户的settings.xml配置,当然应该使用全局范围的settings.xml。
除了影响范围这一因素,配置用户范围settings.xml文件还便于Maven升级。直接修改conf目录下的settings.xml会导致Maven升级不便,每次升级到新版本的Maven,都需要复制settings.xml文件。如果使用~/.m2目录下的settings.xml,就不会影响到Maven安装文件,升级时就不需要触动settings.xml文件。
2.7.3不要使用IDE内嵌的Maven
无论Eclipse还是NetBeans,当集成Maven时,都会安装上一个内嵌的Maven,这个内嵌的Maven通常会比较新,但不一定很稳定,而且往往也会和在命令行使用的Maven不是同一个版本。这里又会出现两个潜在的问题:首先,较新版本的Maven存在很多不稳定因素,容易造成一些难以理解的问题;其次,除了IDE,也经常还会使用命令行的Maven,如果版本不一致,容易造成构建行为的不一致,这是我们所不希望看到的。因此,应该在IDE中配置Maven插件时使用与命令行一致的Maven。
在m2eclipse环境中,单击菜单栏中的Windows,然后选择Preferences,在弹出的对话框中,展开左边的Maven项,选择Installation子项,在右边的面板中,能够看到有一个默认的Embedded
Maven安装被选中了。单击Add...按钮,然后选择Maven安装目录M2_HOME,添加完毕之后选择这一个外部的Maven,如图2-14所示。图2-14在Eclipse中使用外部Maven
NetBeans Maven插件默认会侦测PATH环境变量,因此会直接使用与命令行一致的Maven环境。依次单击菜单栏中的工具→选项→其他→Maven标签栏,就能看到图2-15所示的配置。 图2-15在NetBeans中使用外部Maven

时间: 2024-09-20 06:08:44

Maven实战. 2.7Maven安装最佳实践的相关文章

Maven实战. 2.3安装目录分析

2.3安装目录分析 前面讲述了如何在各种操作系统中安装和升级Maven.现在来仔细分析一下Maven的安装文件. 2.3.1M2_HOME 前面讲到设置M2_HOME环境变量指向Maven的安装目录,本书之后所有使用M2_HOME的地方都指代了该安装目录.下面看一下该目录的结构和内容: bin boot conf lib LICENSE.txt NOTICE.txt README.txt bin: 该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Jav

Maven实战. 2.6安装NetBeans Maven插件

2.6安装NetBeans Maven插件 本小节会先介绍如何在NetBeans上安装Maven插件,后面的章节中还会介绍NetBeans中具体的Maven操作. 如果正在使用NetBeans 6.7及以上版本,那么Maven插件已经预装了.你可以检查Maven插件安装,单击菜单栏中的工具,接着选择插件,在弹出的插件对话框中选择已安装标签,应该能够看到Maven插件,如图2-11所示.图2-11已安装的NetBeans Maven插件 如果在使用NetBeans 6.7之前的版本,或者由于某些原

Maven实战. 2.5安装m2eclipse

2.5安装m2eclipse Eclipse是一款非常优秀的IDE.除了基本的语法标亮.代码补齐.XML编辑等基本功能外,最新版的Eclipse还能很好地支持重构,并且集成了JUnit.CVS.Mylyn等各种流行工具.可惜Eclipse默认没有集成对Maven的支持.幸运的是,由Maven之父Jason Van Zyl创立的Sonatype公司建立了m2eclipse项目.这是Eclipse下的一款十分强大的Maven插件,可以访问http://m2eclipse.sonatype.org/了

Maven实战

Maven 实战 许晓斌  著 本书由国内社区公认的Maven专家Juven Xu亲自执笔,内容的权威性毋庸置疑. 本书是国内第一本公开出版的Maven专著.它内容新颖,基于最新发布的Maven 30,不仅详尽讲解了Maven 30的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2x版本进行了对比,以便于正在使用Maven 2x版本的用户能更好地理解.本书内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装.配置和基本使用方法,以便于初学者参考:详细

Maven实战. 导读

Maven 实战 许晓斌  著 本书由国内社区公认的Maven专家Juven Xu亲自执笔,内容的权威性毋庸置疑. 本书是国内第一本公开出版的Maven专著.它内容新颖,基于最新发布的Maven 30,不仅详尽讲解了Maven 30的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2x版本进行了对比,以便于正在使用Maven 2x版本的用户能更好地理解.本书内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装.配置和基本使用方法,以便于初学者参考:详细

《DevOps实战:VMware管理员运维方法、工具及最佳实践》——3.4 管理源代码

3.4 管理源代码 源代码管理(SCM,Source Code Management)是DevOps环境中必不可少的元素.想象一下:如果你要把基础设施转换为代码,重要的是有一种回顾任何更改.在新更改引入问题(例如,在最好的情况下是定期出现不稳定的情况,在最糟糕的情况下引起停机)时回到文件不同版本的手段.有些人可能认为"容易"的方法是建立文件的多个拷贝,每个都使用唯一的名称(Vagrantf?ile1.Vagrantf?ile2.Vagrantf?ile01012015等),但是接着当你

帮助您在云设备中安装一个恰当配置的应用程序最佳实践

将应用程序部署到云中的一个常见场景是一个拥有非云软件的场景,您想要将这些非云软件集成到已在云中运行的软件中,要做到这一点,有几个特性需要计划(如果您仍在修复有问题的应用程序)或集成(如果应用程序已存在).在本文中,作者提供了 18 个最佳实践,确保您的应用程序可以轻松地集成到另一个云产品中,轻松地集成到另一个云设备中,或作为一个独立设备托管在云中. 本文提供几个设计和打包应用程序到云环境中的最佳实践,这样此应用程序就可以: 集成到另一个云产品中,以便其他产品利用其功能. 集成到一个已在云中托管的

如何在实战路上与时俱进:深度学习最佳实践

自2006年Hinton提出神经网络新的训练方法起,深度学习发展迅速,促使人工智能在图像.语音.自然语言处理等多个领域有了实质性的突破,达到产业应用标准.然而,深度学习作为人工智能领域的一项前瞻技术,实践性强,入门门槛高,关于深度学习的研究与应用,现在仍有很多问题没有找到满意的答案,这些都给深度学习的广泛应用带来挑战.本文旨在提供一份清晰.简洁的深度学习实践说明,以便从事深度学习研究与工程技术人员能够快速掌握深度学习的实际经验. 第一节:深度学习概述 深度学习是模拟人脑进行分析学习的多层神经网络

《maven实战》学习笔记2——maven安装(windows和eclipse插件)

前言 由于我的工作中开发环境就是windows,IDE是eclipse,因此安装也只涉及和记录这两部分,在看书和动手的过程也就直接跳过其他部分. 笔记 windows中maven的安装 安装条件 maven依赖于java,因此安装和使用maven,要先确保已安装了jdk并配置好jdk的环境变量. 检查jdk是否安装并配好环境变量,可以再windows的cmd窗口执行java -version查看,如果如下所示,则证明jdk安装和配置正确. C:\Users\tzx>java -version j