在CentOS 6.x上安装Ma ven
在CentOS 6.x环境下配置Ma ven,手动安装和自动安装两条路都走得通。先说几个关键步骤,再聊具体操作。
手动安装
1. 下载Ma ven安装包
首先是下载这一步,直接从Ma ven官网(https://ma ven.apache.org/)获取最新版本就行。这里以 apache-ma ven-3.2.1-bin.tar.gz 为例。
2. 解压安装包
拿到压缩包之后,执行解压命令:
tar -zxvf apache-ma ven-3.2.1-bin.tar.gz
下面这张是解压成功后的页面:
3. 放在期望目录下(可选)
解压完以后,可以根据需要把文件夹挪到目标位置。比如放到 /opt 目录:
sudo mv apache-ma ven-3.2.1 /opt
4. 创建软链接
接下来建立软链接,方便后续维护:
ln -s apache-ma ven-3.2.1 apache-ma ven
5. 配置环境变量
环境变量这一步不能省,直接编辑 /etc/profile 文件,把Ma ven的路径加进去。
6. 使配置生效
改完配置还要让它立刻生效,执行:
source /etc/profile
7. 验证安装结果
最后检查一下,用这个命令确认版本:
mvn -v
如果出现上图中的信息,说明安装成功了。
自动安装Ma ven
要是嫌手动操作太啰嗦,自动安装的方式更省心。主要分三步:
- 自动下载Ma ven
- 自动设置环境变量
- 自动配置mirror
安装过程只需下载ma ven.rar压缩包,按照readme说明执行就可以了。
mirror配置
这里贴一下常用的镜像配置,直接拿来用:
alima ven aliyun ma ven https://ma ven.aliyun.com/nexus/content/groups/public/ central central Ma ven Repository Switchboard https://repo1.ma ven.org/ma ven2/ central repo2 central Human Readable Name for this Mirror. https://repo2.ma ven.org/ma ven2/ ibiblio central Human Readable Name for this Mirror. https://mirrors.ibiblio.org/pub/mirrors/ma ven2/ jboss-public-repository-group central JBoss Public Repository Group https://repository.jboss.org/nexus/content/groups/public ma ven.net.cn oneof the central mirrors in china https://ma ven.net.cn/content/groups/public/ central
自动安装脚本
最后附上一份完整的Shell脚本,自动化完成所有安装和配置工作:
#!/bin/sh
#关闭进程
killpids(){
pids=($(ps -ef | grep $1 | awk '{print $2}'))
for pid in ${pids[@]}; do
echo "关闭进程: pid ${pid}"
kill -9 ${pid}
done
}
killpids ma ven
#删除旧版ma ven
echo "删除旧版ma ven"
rm -rf /usr/local/apache-ma ven-*
#install ma ven
srcPath=$(find /usr/ma ven -maxdepth 1 -type f|grep '.*ma ven.*.tar.gz$')
if [[ $srcPath =~ "ma ven" ]]
then
echo "安装包:$srcPath"
rpm -ivh $srcPath
else
#下载ma ven
yum -y install wget
echo -e "Download Ma ven"
wget https://mirrors.tuna.tsinghua.edu.cn/apache/ma ven/ma ven-3/3.3.9/binaries/apache-ma ven-3.3.9-bin.tar.gz -P /usr/ma ven/
srcPath=$(find /usr/ma ven -maxdepth 1 -type f|grep '.*ma ven.*.tar.gz$')
fi
#解压
echo "解压..."
tar -xf $srcPath -C /usr/local
path=$(find /usr/local -maxdepth 1 -type d|grep 'apache-ma ven-.*')
dir_name=${path##*/}
echo $path
echo $dir_name
#赋予权限
chmod -R 755 $path
#设置环境变量
sed -i '/M2_HOME/d' /etc/profile
echo "设置环境变量"
echo "export M2_HOME=$path" >> /etc/profile
echo 'export PATH=$PATH:$M2_HOME/bin' >> /etc/profile
source /etc/profile
echo "建立软链接 $path -> apache-ma ven"
ln -s $path apache-ma ven
echo "配置 mirrors"
IFSBAK=$IFS #备份原来的值
IFS=#
mirror="
#
#
# alima ven
# aliyun ma ven
# https://ma ven.aliyun.com/nexus/content/groups/public/
# central
#
#
# central
# Ma ven Repository Switchboard
# https://repo1.ma ven.org/ma ven2/
# central
#
#
# repo2
# central
# Human Readable Name for this Mirror.
# https://repo2.ma ven.org/ma ven2/
#
#
# ibiblio
# central
# Human Readable Name for this Mirror.
# https://mirrors.ibiblio.org/pub/mirrors/ma ven2/
#
#
# jboss-public-repository-group
# central
# JBoss Public Repository Group
# https://repository.jboss.org/nexus/content/groups/public
#
#
# ma ven.net.cn
# oneof the central mirrors in china
# https://ma ven.net.cn/content/groups/public/
# central
#
#
# '
"
#循环写入文件
for line in $mirror;
do
sed -i "/<\/mirrors>/i\ $line" $path/conf/settings.xml
done
IFS=$IFSBAK #还原
echo "mvn -v"
mvn -v
echo "" 