gpt4 book ai didi

java - 如何找到我定义 JAVA_HOME 的位置

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:46 24 4
gpt4 key购买 nike

这是我的系统信息

wangbo@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

当我检查java版本时

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

但是当我回显 $JAVA_HOME 时

/usr/lib/jvm/java-9-oracle

它是无与伦比的,好像我在某个地方定义了$JAVA_HOME,但是我找不到它,任何人都可以帮助我如何找到我定义的$JAVA_HOME

其他有用信息:

  1. 我之前安装和卸载 jdk9 作为第一个 jdk
  2. 它不在 ~/.bashrc 中
  3. 它不在/etc/bash.bashrc 中
  4. 它不在 ~/.profile 中

更新

wangbo@ubuntu:~$ more /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

最佳答案

1) JAVA_HOME 很可能定义在 /etc/profile.d/jdk.sh/etc/profile.d/jdk.csh 不幸的是,这些文件不是由 update-alternatives 系统管理的。

2) 您运行哪个可执行文件应该取决于 update-alternatives 系统,但是如果您在您的 PATH 中强制执行了一个特定版本,它就不会。

许多 java 应用程序实际上是由脚本调用的,这些脚本选择它们首选的 jvm 设置一致的环境,并且不应受到您的问题的影响。最好为 shell 的免费 java 调用提供一致的环境,但是,在大多数安装中,我知道这是手动实现的...

一些 java 发行版根本不需要 JAVA_HOME。在其他情况下,您需要它。我的建议是只有当你需要它时才定义 JAVA_HOME。如果是这种情况,请在 shell 脚本中定义它并使用该脚本调用您需要该特定值的命令。

编辑:/etc/profile.d/jdk.sh 似乎是由oracle-java8-set-default 安装的。

# Uninstall the package (choose one)
sudo apt purge oracle-java8-set-default
sudo apt remove --purge oracle-java8-set-default

# Configure the desired Java binary
sudo update-alternatives --config java
sudo update-alternatives --config javac

关于java - 如何找到我定义 JAVA_HOME 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43229474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com