Maven学习笔记(七)Maven安装最佳实践

Maven安装最佳实践

1. 设置MAVEN_OPTS环境变量
    通过之前的学习,我们已经知道,运行mvn命令实际上是执行了java命令,既然是运行java,那么运行java命令可用的参数当然也应该在运行mvn命令时可用,这个时候MAVEN_OPTS环境变量就能派上用场。
    通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能满足Maven运行的需要,比如在项目较大时,使用Maven生成的项目要占用大量的内存,如果没有该配置,则很容易导致内存溢出,即java.lang.OutOfMemeoryError。因此一开始就配置该变量是推荐的做法。

    win7下设置方法跟配置M2_HOME的方式类似,但是这次是创建用户级的环境变量,如下图所示:

这里写图片描述

    上述部分是书中记载的方式,但是经过本人查询多方资料后,发现似乎并不能起到相对应的作用,在一篇博文中有写到这么一句话:“原来是Maven的 maven-surefire-plugin 插件默认会fork出一个新的jvm去跑unit test, 所以上面设置的MAVEN_OPTS 并不会对surefire插件新开的jvm起作用。”

    博文中贴上了外文连接: [StackOverFlow](http://stackoverflow.com/questions/4066424/java-lang-outofmemoryerror-java-heap-space-in-maven "外文地址")

    本人亲自去查看了下,发现该回答的时间是2010-11-02日,距离现在已经过去很久,但是本人初学Maven,对Maven的理解不是很深入因此,把该篇内容中提供的方法贴出来供大家参考。

这里写图片描述

    该文中提到的两个方法,比较正确的做法是第二个也就是在pom文件中添加<configuration>元素,添加如下:
<build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <argLine>-Xmx1024m</argLine>
        </configuration>
      </plugin>
    </plugins>
  </build>
    同时本人也将最近的比较有用的回答贴出来:

这里写图片描述

    希望上述资料能够为你提供一些帮助。
2. 配置用户范围的settings.xml
    Maven用户可以选择配置M2_HOME/conf/settings.xml或者用户目录下.m2/settings.xml。前者是全局范围的,整台机器上所有用户都直接受到该配置的影响,同时在Maven进行升级的时候也是需要迁移M2_HOME/conf/settings.xml文件的。而后者是只有当前用户才会受到该配置的影响。

    当这两个文件同时存在的时候,那么对于相同的配置信息用户家目录下面的settings.xml中定义的会覆盖Maven安装目录下面的settings.xml中的定义。

    因此配置用户范围的settings.xml文件方便于Maven的升级,否则每次都要复制M2_HOME/conf/settings.xml文件是非常不方便的。
3. 不要使用IDE内嵌的Maven
    无论是Eclipse还是NetBeans,当集成Maven时,都会安装上一个内嵌的Maven,这个内嵌的Maven通常会比较新,但不一定稳定,而且往往也会和在命令行使用的Maven不是同一个版本。这样会出现两个潜在的问题:

    首先,较新的版本Maven存在很多不稳定的因素,容易造成一些难以理解的问题;其次,出了IDE,也经常还会使用命令行的Maven如果版本不一致,容易造成构建行为的不一致,这是我们所不希望看到的。因此,应该在IED中配置Maven插件时使用与命令行一致的Maven。

    在m2eclipse环境中停用内嵌的Maven,使用本地安装的Maven是比较好的方式,操作如下:

这里写图片描述

    配置本地Maven到IDE中:

这里写图片描述

    点击Add按钮,选择Maven的安装路径之后点击Finish:

这里写图片描述

这里写图片描述

    勾选本地的Maven,点击OK即可:

这里写图片描述

    至此本地Maven配置完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值