Apache Maven 3.5.0版详述
- 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。
Apache Maven 3.5.0版发布了,距离3.3.9版发布已经半年多过去了。为什么跳过了3.4版本号,原因是Eclipse Aether项目已经停用,代码库迁移到Apache Maven项目中。而Maven 3.4版的原始目标是在Maven项目中使用完全相同的代码替换掉Aether(现在是Maven Resolver),然后对解析器代码以及其它模块进行Bug修复。但这个迁移工作花费的时间远超预期,以及新功能特性需要合并到版本中,因此跳过3.4版。
一、3.5版值得注意的点
- 最显著的改变是控制台的输出支持彩色
- JAVA_HOME环境变量的检查做了缩减,只简单检查这个环境变量是否存在,如果不存在则使用“which java”查看一下
- 构建脚本不再支持Apache Ant
- M2_HOME环境变量的用法也取消了,不再提供支持
- 对Windows系统的用户,%HOME%的使用变更为%USERPROFILE%
- 修复了3.3.9版存在的当依赖200~300个以上的模块时,可能会导致内存异常或需要增加内存设置的Bug
- 创建了一个slf4j-simple的privider扩展,以支持对不同日志级别的输出显示不同颜色
二、下载
下载地址:http://maven.apache.org/download.cgi
Maven的安装:
unzip apache-maven-3.5.0-bin.zip
或
tar xzvf apache-maven-3.5.0-bin.tar.gz
然后把Maven的解压缩目录下的bin子目录添加到PATH环境变量中即可。
三、Maven的配置
Apache Maven的配置有几个要点,具体如下。
- MAVEN_OPTS环境变量:它指定了运行Maven所需的JVM参数,比如-Xms256m -Xmx512m
- settings.xml配置文件:Maven本身的各种配置都在这里设置
- .mvn目录:位于项目的根目录下,里面包含了maven.config和extensions.xml文件,运行Maven项目的特定配置
四、Maven仓库服务器
使用Maven仓库服务器有以下优点和功能:
- 大大减少了从远程Maven仓库下载依赖的数量,节省了时间和带宽,从而提高了构建性能
- 由于减少对外部仓库的依赖,提高了构建的稳定性
- 提高了与远程SNAPSHOT存储库交互的性能
- 提供了一个有效的平台,用于在组织内外交换二进制文件,而无需从源代码构建工件
可用的开源仓库服务器
- Apache Archiva: https://archiva.apache.org/
- JFrog Artifactory Open Source: https://www.jfrog.com/open-source
- Sonatype Nexux OSS: https://www.sonatype.org/nexus/go/