bash脚本一键安装Java和maven环境

bash脚本一键安装Java和Maven环境

最近的毕设项目需要用到一键安装Java和Maven环境,并配置环境变量,中间遇到了一些坑,在这里记录一下。

#!/bin/bash
# check and install java1.8 and maven3.85

echo "check java version"
java -version
if [ $? -ne 0 ]; then
    echo -e "java not found,install java:"
    result=$(uname -m) 
    echo "machine:$result"
    if [ "$result" = "x86_64" ]; then
        url="https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz"
    else 
        echo "unknow machine,please install java manually"
        exit 1
    fi
    wget -nc $url  #download if not exists
    sudo mkdir /usr/lib/jvm
    sudo tar -xvf jdk-8u202-linux-x64.tar.gz -C /usr/lib/jvm

    echo '#Java Env' | sudo tee -a /etc/profile 
    echo 'export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_202' | sudo tee -a /etc/profile
    echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' | sudo tee -a /etc/profile
    echo 'export PATH=$PATH:$JAVA_HOME/bin' | sudo tee -a /etc/profile
    # rm -rf  jdk-11u202-linux-x64.tar.gz 
fi

echo -e "\ncheck maven version"
mvn -v
if [ $? -ne 0 ]; then
    echo -e "maven not found,install maven:\n"  
    wget -nc --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
    sudo tar -zxvf  apache-maven-3.8.5-bin.tar.gz -C /usr/local/

    echo 'export MAVEN_HOME=/usr/local/apache-maven-3.8.5' | sudo tee -a /etc/profile
    echo 'export PATH=$PATH:$MAVEN_HOME/bin' | sudo tee -a /etc/profile
 
fi

source /etc/profile

遇到的第一个坑是正常的使用echo向文件追加内容,会出现权限不足的情况:

sudo echo "export PATH=$PATH:/usr/lib/jvm/jdk1.8.0_202" >> /etc/profile
bash: /etc/profile: Permission denied

原因是sudo只作用于echo 对后面的重定向不起作用。
解决方法具体可以看一下这个stackoverflow的回答。
How to write in /etc/profile using bash | Permission Denied

遇到的第二个坑是:
下载链接一开始使用的是oracle的官方下载链接,但是会遇到权限的问题。所以改用了华为镜像,其中不同的机器平台需要使用不同类型的JDK压缩包,这里只演示了x86_64机器的压缩包。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值