Maven是用于Java开发的著名构建工具,还可以用于项目管理,能够帮助开发者管理依赖,是Java开发必不可少的重要工具,许多Java开发IDE都集成了Maven。
安装
首先去Maven官网下载tar.gz或者zip格式的二进制压缩包,我下载的是apache-maven-3.3.9-bin.tar.gz。终端进入到下载文件所在的文件夹,执行以下命令将下载后的文件解压到~/maven:
tar -xzvf apache-maven-3.3.9-bin.tar.gz -C ~/maven
配置环境变量
1、打开终端,执行以下指令:
$ vim ~/.bash_profile
添加以下2行
export M2_HOME=$HOME/maven/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin
2、执行
source ~/.bash_profile
mvn -v
输出类似下面的内容说明安装成功:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /Users/chenxin/maven/apache-maven-3.3.9
Java version: 1.8.0_92, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.1", arch: "x86_64", family: "mac"
3、Change Maven local repository
$sudo vim /usr/share/maven/conf/settings.xml
settings.xml
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>/Users/jeffrey/Documents/dev/tools/maven/repo</localRepository>
4、zsh: command not found: mvn 问题解决
现象
安装完zsh之后终端显示mvn等命令不存在,现象是新开一个终端,运行mvn命令会显示命令不存在,如报错:
zsh: command not found: mvn
但是,在当前终端,运行
source ~/.bash_profile
之后就可以了,我的机器java和mvn的环境变量配置均在~/.bash_profile
文件中。
解决
这个问题的原因是zsh的配置文件没有加载~/.bash_profile
的配置项,做法如下:
vim ~/.zshrc
在文件末尾添加上之前的source ~/.bash_profile
保存即可。
以后重新打开终端的时候就不会出现mvn命令找不到的问题了。
禁用Eclipse自带的maven
刚刚在终端命令行中使用的maven是我们安装的maven,如果Eclipse中自带的maven和自己安装的maven版本不一致,可能导致在命令行中和在Eclipse中的项目构建行为不一致,需要禁用Eclipse中自带的maven。
我用的是最新版的Eclipse Neon for JavaEE,已经自带了maven插件m2eclipse,老版的可能需要自己安装,检查是否安装的方法是点击Help – about eclipse – installation details,看是否存在 m2e - Maven Integration for Eclipse (includes Incubating components),如果不存在就去安装。
然后点击Eclipse – Preferences – Maven – Installations – Add, 选择安装目录并点击Apply,之后使用的就是自己安装的maven。