maven推荐配置
1. 设置maven_opts 环境变量
(1) 运行mvn 命令实际上是在执行java命令,既然是java,name运行java命令可用的参数当人也是可以在运行mvn 命令时可用. 这个时候,MAVEN_OPTS环境变量就能派上用场了.
(2) 通常来说我们会设置 MAVEN_OPTS的值为 -Xms128m -Xmx512m. 通常来说java默认的最大可用内存往往不能满足我们的需求,如果项目比较大的时候,使用maven生成项目需要占用大量的内存,如果不自己配置,很容易oom
例如编译hadoop的时候就需要设置这个变量 ,可以防止内存爆炸
export MAVEN_HOME=/root/apache-maven
export PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
2. 配置用户范围的setting.xml
Maven 用户可以选择配置两种配置文件
- (1)
$M2_HOME/conf/settings.xml
这个全局有效,整个机器上所有用户都是直接受到这个配置的影响
- (2)
~/.m2/settings/xml
只对当前用户有效,只有当前用户才会受到影响. 推荐使用这种 有如下优点
- 影响范围小
- 升级方便,不用复制
setting.xml
了
3. 不使用内嵌的Maven
每个ide 中会带有的maven版本可能不同,有的比较新,但是并不一定稳定.会导致下面几种潜在的威胁,所以我们应该在ide中配置自己的maven
(1) 出现一些难以理解的问题
(2) 容易造成构建行为的不一致
4. 使用国内仓库
推荐使用阿里的,当有些阿里仓库没有的时候,可以其他的 , 这里推荐加入如下配置
<mirror>
<id>aliyun-public</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>aliyun-central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>aliyun-spring</id>
<mirrorOf>*</mirrorOf>
<name>spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
</mirror>
<mirror>
<id>spring-plugins</id>
<name>Mirror from Maven Repo2</name>
<url>https://repo.spring.io/plugins-release/</url>
<mirrorOf>central</mirrorOf>
</mirror>