电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2004 人浏览分享

CentOS自动安装Maven

[复制链接]
2004 0
本帖最后由 zhaorong 于 2017-4-20 18:45 编辑

1. 自动下载Maven

2. 设置环境变量

3. 配置mirror

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

mirror配置:

[html] view plain copy    在CODE上查看代码片派生到我的代码片
<mirror>  
  
  1. <id>alimaven</id>  
  2.     <name>aliyun maven</name>  
  3.     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
  4.     <mirrorOf>central</mirrorOf>  
  5. </mirror>  
  6. <mirror>  
  7.     <id>central</id>  
  8.     <name>Maven Repository Switchboard</name>  
  9.     <url>http://repo1.maven.org/maven2/</url>  
  10.     <mirrorOf>central</mirrorOf>  
  11. </mirror>  
  12. <mirror>  
  13.     <id>repo2</id>  
  14.     <mirrorOf>central</mirrorOf>  
  15.     <name>Human Readable Name for this Mirror.</name>  
  16.     <url>http://repo2.maven.org/maven2/</url>  
  17. </mirror>  
  18. <mirror>  
  19.     <id>ibiblio</id>  
  20.     <mirrorOf>central</mirrorOf>  
  21.     <name>Human Readable Name for this Mirror.</name>  
  22.     <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>  
  23. </mirror>  
  24. <mirror>  
  25.     <id>jboss-public-repository-group</id>  
  26.     <mirrorOf>central</mirrorOf>  
  27.     <name>JBoss Public Repository Group</name>  
  28.     <url>http://repository.jboss.org/nexus/content/groups/public</url>  
  29. </mirror>  
  30. <mirror>  
  31.     <id>maven.net.cn</id>  
  32.     <name>oneof the central mirrors in china</name>  
  33.     <url>http://maven.net.cn/content/groups/public/</url>  
  34.     <mirrorOf>central</mirrorOf>  
  35. </mirror>   
  36.    
复制代码


############################# 结束符 ##########################
贴上shell 文件:




[html] view plain copy    在CODE上查看代码片派生到我的代码片
#!/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"      

    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="  
  1. #   <mirror>  
  2. #       <id>alimaven</id>  
  3. #       <name>aliyun maven</name>  
  4. #       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
  5. #       <mirrorOf>central</mirrorOf>  
  6. #   </mirror>  
  7. #   <mirror>  
  8. #       <id>central</id>  
  9. #       <name>Maven Repository Switchboard</name>  
  10. #       <url>http://repo1.maven.org/maven2/</url>  
  11. #       <mirrorOf>central</mirrorOf>  
  12. #   </mirror>  
  13. #   <mirror>  
  14. #       <id>repo2</id>  
  15. #       <mirrorOf>central</mirrorOf>  
  16. #       <name>Human Readable Name for this Mirror.</name>  
  17. #       <url>http://repo2.maven.org/maven2/</url>  
  18. #   </mirror>  
  19. #   <mirror>  
  20. #       <id>ibiblio</id>  
  21. #       <mirrorOf>central</mirrorOf>  
  22. #       <name>Human Readable Name for this Mirror.</name>  
  23. #       <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>  
  24. #   </mirror>  
  25. #   <mirror>  
  26. #       <id>jboss-public-repository-group</id>  
  27. #       <mirrorOf>central</mirrorOf>  
  28. #       <name>JBoss Public Repository Group</name>  
  29. #       <url>http://repository.jboss.org/nexus/content/groups/public</url>  
  30. #   </mirror>  
  31. #   <mirror>  
  32. #       <id>maven.net.cn</id>  
  33. #       <name>oneof the central mirrors in china</name>  
  34. #       <url>http://maven.net.cn/content/groups/public/</url>  
  35. #       <mirrorOf>central</mirrorOf>  
  36. #   </mirror>   
  37. #                                                                       '  
  38. "  
  39.   
复制代码

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.