在/ etc / environment中声明JAVA_HOME变量的语法?

变量JAVA_HOME在哪里以及如何运行? 具体来说 , environment文件内容应该与PATH一起正确设置JAVA_HOME吗?

当前环境:

 thufir@doge:~$ thufir@doge:~$ cat /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" thufir@doge:~$ 

Java设置:

 thufir@doge:~$ thufir@doge:~$ java -version openjdk version "1.8.0_121" OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.10.2-b13) OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode) thufir@doge:~$ thufir@doge:~$ which java /usr/bin/java thufir@doge:~$ thufir@doge:~$ sudo update-alternatives --config java [sudo] password for thufir: There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java Nothing to configure. thufir@doge:~$ thufir@doge:~$ echo JAVA_HOME JAVA_HOME thufir@doge:~$ 

无需编辑用户个人资料 。

看完这个问题后:

如何在不重新登录的情况下从/ etc / environment重新加载变量?

第二行声明JAVA_HOME后,答案似乎是使用source命令:

 thufir@doge:~$ thufir@doge:~$ source /etc/environment thufir@doge:~$ thufir@doge:~$ cat /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" JAVA_HOME="/usr/bin/java" thufir@doge:~$ thufir@doge:~$ which java /usr/bin/java thufir@doge:~$ thufir@doge:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games thufir@doge:~$ thufir@doge:~$ echo $JAVA_HOME /usr/bin/java thufir@doge:~$ thufir@doge:~$ sudo update-alternatives --config java There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java Nothing to configure. thufir@doge:~$ 

但是,就设置JAVA_HOME的原因抱怨而言,它似乎不起作用:

 thufir@doge:~$ thufir@doge:~$ jars/apache-cxf-3.1.11/bin/wsdlvalidator ERROR: Set JAVA_HOME to the path where the J2SE 6.0 (JDK6.0) is installed thufir@doge:~$ 

虽然答案,但不确定它是正确的还是完整的。