CentOS自动安装Maven

苦力活:

1. 自动下载Maven

2. 设置环境变量

3. 配置mirror

安装:下载 maven.rar 按照 readme 执行即可


mirror配置:

 
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
    <mirror>
        <id>ibiblio</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
    </mirror>
    <mirror>
        <id>jboss-public-repository-group</id>
        <mirrorOf>central</mirrorOf>
        <name>JBoss Public Repository Group</name>
        <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>
    <mirror>
        <id>maven.net.cn</id>
        <name>oneof the central mirrors in china</name>
        <url>http://maven.net.cn/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>  
      

############################# 结束符 ##########################

贴上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 maven

#删除旧版maven
echo "删除旧版maven"
rm -rf /usr/local/apache-maven-*

#install maven
srcPath=$(find /usr/maven -maxdepth 1 -type f|grep '.*maven.*.tar.gz$')
if [[ $srcPath =~ "maven" ]]
  then
    echo "安装包:$srcPath"
	rpm -ivh $srcPath
  else
    #下载maven
	yum -y install wget
    echo -e "Download Maven"	
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz -P /usr/maven/
	srcPath=$(find /usr/maven -maxdepth 1 -type f|grep '.*maven.*.tar.gz$')
fi

#解压
echo "解压..."
tar -xf $srcPath -C /usr/local

path=$(find /usr/local -maxdepth 1 -type d|grep 'apache-maven-.*')
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-maven"
ln -s $path apache-maven

echo "配置 mirrors"

IFSBAK=$IFS     #备份原来的值
IFS=#
mirror="
#   <mirror>
#       <id>alimaven</id>
#       <name>aliyun maven</name>
#       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
#       <mirrorOf>central</mirrorOf>
#   </mirror>
#   <mirror>
#       <id>central</id>
#       <name>Maven Repository Switchboard</name>
#       <url>http://repo1.maven.org/maven2/</url>
#       <mirrorOf>central</mirrorOf>
#   </mirror>
#   <mirror>
#       <id>repo2</id>
#       <mirrorOf>central</mirrorOf>
#       <name>Human Readable Name for this Mirror.</name>
#       <url>http://repo2.maven.org/maven2/</url>
#   </mirror>
#   <mirror>
#       <id>ibiblio</id>
#       <mirrorOf>central</mirrorOf>
#       <name>Human Readable Name for this Mirror.</name>
#       <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
#   </mirror>
#   <mirror>
#       <id>jboss-public-repository-group</id>
#       <mirrorOf>central</mirrorOf>
#       <name>JBoss Public Repository Group</name>
#       <url>http://repository.jboss.org/nexus/content/groups/public</url>
#   </mirror>
#   <mirror>
#       <id>maven.net.cn</id>
#       <name>oneof the central mirrors in china</name>
#       <url>http://maven.net.cn/content/groups/public/</url>
#       <mirrorOf>central</mirrorOf>
#   </mirror>  
#                                                                       '
"

#循环写入文件
for line in $mirror;
do
  sed -i "/<\/mirrors>/i\ $line" $path/conf/settings.xml
done
IFS=$IFSBAK     #还原


echo "mvn -v"
mvn -v
echo ""

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值