我怎样才能找到我定义JAVA_HOME的地方

Wan*_*gbo 5 java bash java-home

这是我的系统信息

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
Run Code Online (Sandbox Code Playgroud)

当我检查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)
Run Code Online (Sandbox Code Playgroud)

但是当我回应$ JAVA_HOME

/usr/lib/jvm/java-9-oracle
Run Code Online (Sandbox Code Playgroud)

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

其他有用的信息:

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

UPDATE

wangbo@ubuntu:~$ more /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Run Code Online (Sandbox Code Playgroud)

Dar*_*rio 8

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脚本中定义它,并使用该脚本调用您需要该特定值的命令.