![linux java -version 仅适用于 root 用户](https://linux22.com/image/122981/linux%20java%20-version%20%E4%BB%85%E9%80%82%E7%94%A8%E4%BA%8E%20root%20%E7%94%A8%E6%88%B7%20.png)
jdk1.8.0_151
我是从oracle网站下载并安装的。我定义了JAVA
_HOME 并将其添加到PATH
我的/etc/environment
.
问题是当我java -version
从终端输入命令时,它给出以下错误:
The program 'java' can be found in the following packages:
* default-jre
* gcj-5-jre-headless
* openjdk-8-jre-headless
* gcj-4.8-jre-headless
* gcj-4.9-jre-headless
* openjdk-9-jre-headless
尝试:sudo apt install <selected package>
但是,如果我是终端中的 root,我的意思是之后sudo su
, java -version
工作正常。这是正常的还是我错过了什么?我的/etc/environment
文件如下:
PATH="/home/aliinsan/jdk1.8.0_151/bin:/home/aliinsan/apache-maven-
3.5.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/home/aliinsan/jdk1.8.0_151"
提前致谢,,
编辑:我的非root用户的路径如下:
aliinsan@aliinsan-Inspiron-7548 ~ $ echo $PATH
/home/aliinsan/bin:/home/aliinsan/.local/bin:/home/aliinsan/apache-
maven-
3.5.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/usr/local/games
答案1
安装一个您希望在系统范围内使用的软件包似乎有点奇怪/home
。如果这仅适用于用户aliinsan
,那么假设该用户用作bash
他们的 shell,我将编辑~aliinsan/.bash_profile
并添加:
export PATH="/home/aliinsan/jdk1.8.0_151/bin:${PATH}"
您可以source ~/.bash_profile
在现有 shell 中将该更改合并到 shell 的现有环境中。
如果您使用不同的 shell,过程将类似,但文件将不同。
如果您希望这个版本的 Java 在系统范围内可用,我会考虑将其安装在不同的位置(/opt
例如)。