一 配置Maven环境变量
当在apache官网下载Maven安装文件后,解压到指定的路径后(这里以/Users/tony/Documents/workspace/java/tools/apache-maven-3.5.3为例)
,建议修改路径/etc路径下的profile文件,在终端下可以使用如下命令
vim /etc/profile
然后按i键进入插入模式
添加如下内容
export MAVEN_HOME=/Users/tony/Documents/workspace/java/tools/apache-maven-3.5.3
export PATH=$PATH:$MAVEN_HOME/bin
接着使用source命令让修改的环境变量生效
source /etc/profile
接着测试maven的环境变量是否配置成功,可以使用mvn –version查看
MacBookPro:tony root# mvn --version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /Users/tony/Documents/workspace/java/tools/apache-maven-3.5.3
Java version: 1.8.0_172, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"
虽然IDE中都集成了Maven的插件,可以使用图形化界面的方式完成项目的清理、编译、测试、打包部署,但是在服务器端都是采用命令行的方式完成项目的构建。
二 配置本地仓库路径
maven在默认配置下的本地仓库路径是${user.home}/.m2/repository,为了便于管理项目中依赖本地maven仓库的组件,这里修改其setting.xml文件的localRepository配置
<localRepository>/Users/tony/Documents/workspace/java/tools/maven_repository</localRepository>
三 增加阿里云私服配置
在国内的日常项目开发中,由于网络等原因,添加某些类库或者框架的依赖时,无法远程下载Maven默认的运程中央仓库的组件,这里使用国内的阿里云私服配置,便于更加流畅的开发,其配置也非常简单,只需要在settings.xml文件的mirros节点中添加如下配置即可。
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
四 修改全局的Maven默认编译级别
在setting.xml文件的profiles节点中,maven默认的编译级别是JDK1.4,而目前国内的一线互联网公司的线上运行的绝大部分Java项目已经是基于JDK1.8来运行,因此这里通过在settings.xml文件中增加profile节点配置,修改其默认级别为1.8,完整配置如下所示:
<!-- 全部 maven 项目默认使用 jdk1.8构建 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>jdk18</id>
<name>Repository for JDK 1.8 builds</name>
<url>http://www.myhost.com/maven/jdk18</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>