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 上
- 添加这个文件
~/.zprofile
如果它不存在touch ~/.zprofile
- 添加所需的路径,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
- 退出纳米并..
- 重新加载配置文件
source ~/.zprofile
我偶然发现了一个 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 上
- 添加这个文件
~/.zprofile
如果它不存在touch ~/.zprofile
- 添加所需的路径,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
- 退出纳米并..
- 重新加载配置文件
source ~/.zprofile