linux java -version 仅适用于 root 用户

linux java -version 仅适用于 root 用户

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 sujava -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例如)。

相关内容