Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JAVA_HOME添加到Linux-正确的方法_Java_Linux - Fatal编程技术网

将JAVA_HOME添加到Linux-正确的方法

将JAVA_HOME添加到Linux-正确的方法,java,linux,Java,Linux,我已经下载了oracle jdk tarball,并将其解压缩到/usr/lib/java/jdk1.8.0172目录 我递归地向'/usr/lib/java/`目录提供了755权限 然后,我继续将我的/etc/environment脚本更改为: JAVA_HOME="/usr/lib/java/jdk1.8.0" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ga

我已经下载了oracle jdk tarball,并将其解压缩到
/usr/lib/java/jdk1.8.0172
目录

我递归地向'/usr/lib/java/`目录提供了755权限

然后,我继续将我的
/etc/environment
脚本更改为:

JAVA_HOME="/usr/lib/java/jdk1.8.0"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
然后键入:

source/etc/environment

然后键入
java-version
,确认它已被识别

一旦我注销,一切都不见了。在打开一个新的外壳后,我甚至找不到这个。我希望这对任何用户都有效,但记不起是否必须将其添加到
.bashrc
或其他文件中


换句话说,我是否需要提供对此的组访问权限,或者只需添加环境变量?

我已经一次性完成了以下操作,并且成功了

1) 将
源代码/etc/environment
添加到我的
/etc/profile

2) 键入
source/etc/profile

3) 完全退出了狂欢

4) 以sudo的身份重新打开bash并键入
java-version

java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
但我认为这也是,因为我提供了755个递归访问
/usr/lib/java

我不得不多走这一步,因为我正在那些只有内联网连接的机器上进行适当的“沙盒”开发,而这些机器无法越过防火墙:(
否则,我更喜欢使用
sudo apt get install openjdk-8-jdk-headless

我通常做的是,在/etc/profile.d中添加一个文件,如下所示:

#!/bin/sh
export JAVA_HOME=/usr/java
export PATH=$PATH:$JAVA_HOME/bin
这应该在每个用户登录时执行


另外一件事是,我通常在/usr/local下安装相应的“当前”java版本,例如/usr/local/jdk1.8.0_172,并将其软链接到/usr/java。这样我就可以轻松升级并最终在不修改和/等脚本的情况下来回切换。(注意:今天的最佳实践可能会推荐我通常使用的目录以外的其他目录…)

您可以在这里找到设置环境变量的方法尝试将
source/etc/environment
添加到主目录中的.bashrc文件中,然后打开终端并从
source~/.bashrc
@numoneattygalle刷新变量他说“我希望这对任何用户都有效”依赖于
.bashrc
意味着您需要为所有用户更新,包括将来添加的任何新用户。