如何在Ubuntu中添加JAVA_HOME和M2_HOME环境变量

taor4pac  于 2023-11-17  发布在  Java
关注(0)|答案(3)|浏览(159)

此问题在此处已有答案

How to set environment variable in Linux permanently(6个答案)
3天前关闭。
首先,我不是很熟悉Ubuntu操作系统,我是一个Windows的家伙。
为了满足客户的需求,我在Azure Cloud中创建了一个Ubuntu虚拟机(22.04),并开发了一个bash脚本,安装了以下内容:

  1. Java
  2. Maven
    1.掌舵
  3. git等
    我正在使用https://snapcraft.io/store安装上述工具。
  • 问题:*

我无法在环境变量中找到JAVA_HOME和M2_HOME。安装Java & Maven后,Snap似乎没有设置这些变量。
我试图做一个导出,并设置这些变量使用“导出”命令,但没有运气.我不知道为什么,但变量不存在于我的虚拟机.我不擅长bash脚本,所以我被困在这个问题,因为几个星期.

我需要帮助在安装后通过脚本设置JAVA_HOME和M2_HOME变量,而无需任何手动干预。

任何帮助都将是可怕的!提前感谢:)
下面是我的bash脚本:

#!/bin/bash

OC_VERSION="4.5.0-0.okd-2020-07-14-153706-ga"
OC_TAR_NAME="openshift-client-linux-4.5.0-0.okd-2020-07-14-153706-ga.tar.gz"

echo "Installing Tools..."
sudo apt-get update -y
sudo apt-get remove openjdk-11-jre-headless -y

sudo apt-get update -y

echo "Installing java..."
sudo snap install openjdk
export JAVA_HOME=/var/snap/openjdk/current/openjdk.env
export PATH=$JAVA_HOME/bin:$PATH
# source /var/snap/openjdk/current/openjdk.env

echo "Installing maven..."
sudo apt-get install maven -y

echo "Installing helm..."
sudo snap install helm --classic

echo "Installing kubelogin..."
sudo snap install kubelogin

echo "Installing kubectl..."
sudo snap install kubectl --classic

echo "Installing powershell..."
sudo snap install powershell --classic

echo -e "Installing git..."
sudo snap install git-ubuntu --classic

echo -e "Installing postgresql..."
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql

echo -e "Downloading openshift-client..."
sudo wget https://github.com/openshift/okd/releases/download/4.5.0-0.okd-2020-07-14-153706-ga/${OC_TAR_NAME}

echo -e "Extracting openshift-client..."
sudo tar -zxvf ${OC_TAR_NAME} -C /usr/local/bin

# Remove downloaded tar files
sudo rm -f ${OC_TAR_NAME}

# Add environment variable settings to ~/.bashrc
echo 'export JAVA_HOME=/usr/lib/jvm/default-java' >> ~/.bashrc
echo 'export M2_HOME=/usr/bin/maven' >> ~/.bashrc
source ~/.bashrc

字符串

dnph8jn4

dnph8jn41#

尝试将它们添加到/etc/environment或.bashrc以外的任何其他文件中,这是一种奇怪的情况,给予尝试,这里是一个参考

zvms9eto

zvms9eto2#

摘要

你定义了export脚本在export中,当终端处于活动状态时,它将加载,错误的原因不清楚你如何调用java --version命令,但更一般的用法是将变量连接到/etc/profile中。

互动

  1. Vim/etc/profile
sudo vim /etc/profile

字符串
1.复制你的变量到配置文件示例如下,而不是你的正确路径

export JAVA_HOME=/var/snap/openjdk/java-8u131
export PATH=$JAVA_HOME/bin:$PATH


1.源简档

sudo source /etc/profile


1.尝试该命令

java --version

非交互

只是用下面的命令代替步骤2,其他的都是一样的

echo "export JAVA_HOME=/var/snap/openjdk/java-8u131" > /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" > /etc/profile


然后全局变量已经定义,你可以在任何地方调用命令

lg40wkob

lg40wkob3#

@Peng的回答对我和这篇blog文章都有很大的帮助。

我修改了我的导出命令,如下所示,需要重新启动才能使所有这些工作。

echo "export JAVA_HOME=/snap/openjdk/1539/jdk" | sudo tee -a /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" | sudo tee -a /etc/profile
echo "export M2_HOME=/usr/bin/mvn" | sudo tee -a /etc/profile
echo "export JAVA_HOME" | sudo tee -a /etc/profile
echo "export M2_HOME" | sudo tee -a /etc/profile
echo "export PATH" | sudo tee -a /etc/profile

字符串

我的整个Bash脚本:

#!/bin/bash

OC_VERSION="4.5.0-0.okd-2020-07-14-153706-ga"
OC_TAR_NAME="openshift-client-linux-4.5.0-0.okd-2020-07-14-153706-ga.tar.gz"

echo "Installing Tools..."
sudo apt-get update -y

echo "Installing java..."
sudo snap install openjdk

echo "Installing maven..."
sudo apt-get install maven -y

echo "Installing helm..."
sudo snap install helm --classic

echo "Installing kubelogin..."
sudo snap install kubelogin

echo "Installing kubectl..."
sudo snap install kubectl --classic

echo "Installing powershell..."
sudo snap install powershell --classic

echo -e "Installing git..."
sudo snap install git-ubuntu --classic

echo -e "Installing postgresql..."
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql

echo -e "Downloading openshift-client..."
sudo wget https://github.com/openshift/okd/releases/download/4.5.0-0.okd-2020-07-14-153706-ga/${OC_TAR_NAME}

echo -e "Extracting openshift-client..."
sudo tar -zxvf ${OC_TAR_NAME} -C /usr/local/bin

# Remove downloaded tar files
sudo rm -f ${OC_TAR_NAME}

echo "export JAVA_HOME=/snap/openjdk/1539/jdk" | sudo tee -a /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" | sudo tee -a /etc/profile
echo "export M2_HOME=/usr/bin/mvn" | sudo tee -a /etc/profile
echo "export JAVA_HOME" | sudo tee -a /etc/profile
echo "export M2_HOME" | sudo tee -a /etc/profile
echo "export PATH" | sudo tee -a /etc/profile


terminal_output
我感谢每个人的贡献谁分享他们的想法,以帮助我解决这个问题。

相关问题