将JAVA_HOME添加到Linux-正确的方法
我已经下载了oracle jdk tarball,并将其解压缩到将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
/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
意味着您需要为所有用户更新,包括将来添加的任何新用户。