JAVA_HOME 未在 Linux 生效
JAVA_HOME doesn't take effect in Linux
请看下面我的命令输出:
steven81@LinuxVMzhexin:~$ echo $JAVA_HOME
/usr/local/jdk-10.0.1
steven81@LinuxVMzhexin:~$ cd /usr/local/jdk-10.0.1/
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ ls -l
total 32
drwxr-xr-x 2 root root 4096 Jun 12 23:52 bin
drwxr-xr-x 4 root root 4096 Jun 12 23:52 conf
drwxr-xr-x 3 root root 4096 Jun 12 23:52 include
drwxr-xr-x 2 root root 4096 Jun 12 23:52 jmods
drwxr-xr-x 101 root root 4096 Jun 12 23:52 legal
drwxr-xr-x 12 root root 4096 Jun 12 23:52 lib
-r--r--r-- 1 root root 158 Jun 12 23:52 README.html
-rw-r--r-- 1 root root 1656 Jun 12 23:52 release
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ ./bin/java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ cd ~
steven81@LinuxVMzhexin:~$ java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
从输出中 JAVA_HOME 已设置为 /usr/local/jdk-10.0.1,但为什么我使用此命令:
java -version
我总是得到这样的输出:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
如何解决这个问题?
除了 JAVA_HOME,您可能还需要 JAVA_PATH。这是在我的系统上有效的方法:
将以下内容添加到您的 ~/.profile
文件中:
PATH="/usr/local/jdk-10.0.1/bin:$PATH"
export JAVA_PATH="/usr/local/jdk-10.0.1"
export JAVA_HOME="/usr/local/jdk-10.0.1"
如果您将 /usr/local/jdk-10.0.1
重命名为 /usr/local/jdk10
之类的名称会更好。
反对票更新:
JAVA_PATH
从哪里来的?
我记不太清了,但这与以前安装的一些 openjdk
有问题。对于大多数用户来说,JAVA_PATH
不是必需的,但我所知道的是,它帮助我解决了我的问题。
请看下面我的命令输出:
steven81@LinuxVMzhexin:~$ echo $JAVA_HOME
/usr/local/jdk-10.0.1
steven81@LinuxVMzhexin:~$ cd /usr/local/jdk-10.0.1/
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ ls -l
total 32
drwxr-xr-x 2 root root 4096 Jun 12 23:52 bin
drwxr-xr-x 4 root root 4096 Jun 12 23:52 conf
drwxr-xr-x 3 root root 4096 Jun 12 23:52 include
drwxr-xr-x 2 root root 4096 Jun 12 23:52 jmods
drwxr-xr-x 101 root root 4096 Jun 12 23:52 legal
drwxr-xr-x 12 root root 4096 Jun 12 23:52 lib
-r--r--r-- 1 root root 158 Jun 12 23:52 README.html
-rw-r--r-- 1 root root 1656 Jun 12 23:52 release
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ ./bin/java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
steven81@LinuxVMzhexin:/usr/local/jdk-10.0.1$ cd ~
steven81@LinuxVMzhexin:~$ java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
从输出中 JAVA_HOME 已设置为 /usr/local/jdk-10.0.1,但为什么我使用此命令:
java -version
我总是得到这样的输出:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
如何解决这个问题?
除了 JAVA_HOME,您可能还需要 JAVA_PATH。这是在我的系统上有效的方法:
将以下内容添加到您的 ~/.profile
文件中:
PATH="/usr/local/jdk-10.0.1/bin:$PATH"
export JAVA_PATH="/usr/local/jdk-10.0.1"
export JAVA_HOME="/usr/local/jdk-10.0.1"
如果您将 /usr/local/jdk-10.0.1
重命名为 /usr/local/jdk10
之类的名称会更好。
反对票更新:
JAVA_PATH
从哪里来的?
我记不太清了,但这与以前安装的一些 openjdk
有问题。对于大多数用户来说,JAVA_PATH
不是必需的,但我所知道的是,它帮助我解决了我的问题。