JAVA_HOME 变量被重置

JAVA_HOME variable gets reset

我偶然发现了一个 Maven 问题,根据 Whosebug 社区的说法,它应该是一个 JAVA_HOME 问题。所以我去了 ubuntu 终端并回应了 JAVA_HOME。我的终端在命令后显示了一个空行:

rodrigo@rodrigo-DC1B-S:~$ echo $JAVA_HOME

rodrigo@rodrigo-DC1B-S:~$ 

所以,经过一些研究,我尝试了这个: How to set Oracle's Java as the default Java in Ubuntu?

还有这个: Make $JAVA_HOME easily changable in Ubuntu

这让我尝试了导出命令。它有效,但如果我关闭终端并再次打开,问题又回来了。我什至更改了 /etc/environment 以在文件中设置 JAVA_HOME,例如:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME=/usr/lib/jvm/java-8-oracle

再次,如果关闭终端并再次打开并回显 $JAVA_HOME 结果是相同的,空行。究竟是什么问题?为什么我不能设置这个变量?奇怪的是,如果回显它起作用的 PATH 变量:

rodrigo@rodrigo-DC1B-S:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我的 java 版本是:

rodrigo@rodrigo-DC1B-S:~$ java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

在您的 .bash_profile 上写下以下行:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

听起来您需要在 ~/.profile 中设置 JAVA_HOME 变量(假设您使用 bash 作为 $SHELL)

vi  ~/.profile

添加

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

然后退出终端并启动一个新终端,您会在会话中看到它。

env | grep JAVA_HOME                
JAVA_HOME=/usr/lib/jvm/java-8-oracle

在 MacOs Big Sur 上

  1. 添加这个文件~/.zprofile如果它不存在touch ~/.zprofile
  2. 添加所需的路径,mycase 是 java 和 maven。 运行 nano ~/.zprofile 添加这个。
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH

M2_HOME=/opt/apache-maven
export M2_HOME
export PATH=$M2_HOME/bin:$PATH
  1. 退出纳米并..
  2. 重新加载配置文件 source ~/.zprofile