(七)Maven使用的最佳实践

这里说一下在使用Maven过程中不是必须的,但十分有用的几个实践,关键时刻或许能解决您的问题。

 

1.设置MAVEN_OPTS环境变量

 

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

 

关于如何设置环境变量,请参考前面的知识。

 

2.配置用户范围settings.xml

 

Maven用户可以选择配置Maven安装目录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文件。

 

一般情况下.m2目录下是没有settings.xml配置文件的,需要我们复制conf下面的settings.xml至.m2目录下,然后再进行修改。

 

3.不要使用IDE内嵌的Maven

 

Eclipse在集成Maven时,都会安装上一个内嵌的Maven,这个内嵌的Maven通常会比较新,但不一定很稳定,而且往往也和在命令行使用的Maven不是同一个版本。这里会有两个潜在的问题:首先,较新版本的Maven存在很多不稳定因素,容易造成一些难以理解的问题;其次,除了IDE,也经常还会使用命令行的Maven,如果版本不一致,容易造成构建行为的不一致,这是我们所不希望看到的。因此,应该在IDE中配置Maven插件时使用与命令行一致的Maven。

 

在Eclipse环境中,点击菜单栏中的Window,然后选择Preferences,在弹出的对话框中展开左边的Maven项,选择Installations子项,在右边的面板中,能够看到有一个默认的EMBEDDED Maven安装被选中了。单击Add...按钮,然后选择Maven安装目录,添加完毕之后选择我们自己安装的Maven,点击OK按钮,如图:

 

其他类似的IDE或许在集成的时候也内嵌了Maven,同理,我们最好将它改为我们自己安装的Maven。

 

4.在Eclipse中指定使用的settings.xml配置文件

 

在Eclipse环境中,点击菜单栏中的Window,然后选择Preferences,在弹出的对话框中展开左边的Maven项,选择User Settings子项,在右边的面板中,单击Browse...按钮,然后选择对应的settings.xml文件,设置完毕之后点击OK按钮,如图:

 

 

小Alan使用的都是conf目录下settings.xml,要统一系统中所有用户的settings.xml配置,其他类似的IDE应该也有专门设置使用的settings.xml的地方。

 

可爱博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客园,欢迎大家加入博客园。

 

转载于:https://www.cnblogs.com/AlanLee/p/6141418.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android beam传输速率,无线网络的速率为何不能达到最大值

1、无线速率可以达到最大值,只是发送速率和传输流量是两个概念,通俗点讲,无线的发送速率是把信号以指定速率发出去(信号好的时候以高速率发,信号差的时候以低速率发)。传输流量是指单位时间内传输的数据量,大部分用户关…

【SMTP 补录 Apache服务】

【补录,续】1.【配置空壳邮件接受】【mta】【前置:在/etc/named.rfc1912.zones 添加一个可以接受邮件的域hxl.org(与你数据库中写的向对应),这个域的所在ip就是你机子的,因为要从你的机子转发】 【配置该机的vim/etc/…

image打开rgb16 qt_QT中显示图像数据

一般图像数据都是以RGBRGBRGB……字节流的方式(解码完成后的原始图像流),我说成字节流,那就表明R,G,B的值各占一个字节,在编程时表示的就是unsigned char * data。我们先来看一下QT中的QImage对象。在加载data数据前&a…

开启chrome默认支持ipv6

在快捷方式后面的属性后面输入 --enable-ipv6 以下为转载: [转载]chrome开启或关闭IPV6方法 (2012-05-27 17:54:06) 转载▼ 标签: 转载 分类: 技术 原文地址:chrome开启或关闭IPV6方法作者:余鲲涛 chrome和firefox都是…

Nginx安装部署

转:http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开…

android ble 连续读写,Android BLE实现对蓝牙的读写

【实例简介】通过修改官方的demo实现对蓝牙的读写操作,详细http://blog.csdn.net/chenfengdejuanlian/article/details/45787123【实例截图】【核心代码】BluetoothLe_demo0└── BluetoothLe_demo0├── AndroidManifest.xml├── bin│ ├── AndroidManife…

一分钟经理人

原创2016-12-0858沈剑 零、缘起近期公司再做管理者培训,偶老大推荐了一本薄薄的《一分钟经理人》,斯宾塞.约翰逊,花了1小时读完有感,沉淀一篇阅读笔记,故有此文。一、前言常见经理人有两类:(1&a…

python写机器人程序_用Python写的一个多线程机器人聊天程序

本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows)。后来发现实现起来特别麻烦, 就想到python。听说这家伙在什么地方都能发挥作用。所以想用python来做通讯模块。。。所以主要学习pythonn的多线程和tcp连接。但是没有用过python, 所有在学习…

[转] 前端中的MVC

MVC是一种设计模式,它将应用划分为3个部分:数据(模型)、展现层(视图)和用户交互(控制器)。其中: M - MODEL(模型) V - VIEW(视图&…

ipoo3可以用鸿蒙,iqooneo3支持无线充电吗_iqooneo3可以无线充电吗

iqoo neo3在不高的价格上还保证了自己的品质,有很高的性能,很不错的屏幕。那么这款手机可以支持无线充电吗?小编为大家介绍关于iqoo neo3的充电方面。1.iqoo neo3可以支持无线充电吗iQOO Neo3 配备了 44W 超级闪充,属于小刀&#…

红帽Linux故障定位技术详解与实例(1)

红帽Linux故障定位技术详解与实例(1) 2011-09-28 14:26 圈儿 BEAREYES.COM 我要评论(0) 字号:T | T在线故障定位就是在故障发生时, 故障所处的操作系统环境仍然可以访问,故障处理人员可通过console, ssh等方式登录到操作系统上,在shell上执行…

u2020 华为_华为5G网管U2020常用MML命令(很实用)

激活小区ACT NRCELL:;ACT NRDUCELL:;去激活小区DEA NRCELL:;DEA NRDUCELL:;查询小区静态信息LST NRCELL:;LST NRDUCELL:;查询小区动态信息DSP NRCELL:;DSP NRDUCELL:;修改帧偏置MOD GNODEBPARAM:FRAMEOFFSET70728;修改子帧配比、时隙结构MOD NRDUCELL:NRDUCELLID0,DUPLEXMODECE…

Struts2中过滤器,拦截器,监听器他们之间有什么区别?

1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。4、拦截器可以访问Action上下文、值栈里的对象…

pdf在html中加载不出来,在网页中打开显示PDF

在这里呢,本站仅为大家讲解在网页中显示PDF文件的简单方法,注意,是简单方法,同时,本站已验证过如下的相关代码,测试已通过。当然,有的朋友可能会问,是否能达到像百度文库那样在网页中…

hikaril连接sql2000_hikari连接池解析(版本:HikariCP-2.5.1.jar)

maxLifetime参数maxLifetime参数必须小于数据库的time_wait,默认是1800000,即30分钟。如果设置为0,表示存活时间无限大。如果不等于0且小于30秒则会被重置回30分钟。HikariConfig类中有该参数的校验规则。HikariPool类中,当我们初始化连接池的…

app开发历程————Android程序解析服务器端的JSON格式数据,显示在界面上

上一篇文章写的是服务器端利用Servlet 返回JSON字符串&#xff0c;本文主要是利用android客户端访问服务器端链接&#xff0c;解析JSON格式数据&#xff0c;放到相应的位置上。 首先&#xff0c;android程序的布局文件main.xml 1 <LinearLayout xmlns:android"http://s…

Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析

Android IOS WebRTC 音视频开发总结&#xff08;八十七&#xff09;-- WebRTC中丢包重传NACK实现分析 本文主要介绍WebRTC中丢包重传NACK的实现&#xff0c;作者&#xff1a;weizhenwei &#xff0c;文章最早发表在编风网&#xff0c;微信ID&#xff1a;befoio 支持原创&#x…

如何去除TD之间的空隙

table{border-collapse:collapse;}转载于:https://www.cnblogs.com/passer1991/archive/2013/02/27/2935967.html

android切换到上个页面,Android 返回上一个界面刷新数据

有些界面需要返回上一个界面刷刷新数据,再此做个记录.首先startActivityForResult进行Actvity进行跳转,这是跳转前的界面.// 通过 startActivityForResult() 启动 ActivityBIntent intent new Intent(getActivity(), NoticeActivity.class);startActivityForResult(intent, 1)…

composer设置代理_composer 设置代理

Docker registry V2部署私有Docker Registry 搭建 Insecure Registry 修改Registry server上的Docker daemon的配置,为DOCKER_OPTS增加–insecure ...css中的position&colon;relative和absolute 属性语法: position : static | absolute | fixed | relative 取值: static :…