【问题标题】:Unable to get PATH to be set for all users无法为所有用户设置 PATH
【发布时间】:2022-01-07 12:48:48
【问题描述】:

尝试为 Pufferpanel 安装 OpenJDK 17。用户 pi 可以做到 java -version 很好,但是 Pufferpanel 得到 bash: java: command not found

我的/etc/profile/etc/profile.d/java.sh 有这些行:

#JAVA
export JAVA_HOME="/usr/lib/jvm/jdk-17.0.1+12"
export PATH=$JAVA_HOME/bin:$PATH

另外JAVA_HOME="/usr/lib/jvm/jdk-17.0.1+12"设置在/etc/environment

已为 java.sh 和带有 chmod 777JAVA_HOME 文件夹授予完全权限。用户 pufferpanel 现在可以运行脚本,但错误保持不变:bash: java: command not found

尝试了一些东西,发现了这个:

pufferpanel@raspberrypi:/home/pi$ whereis java
java: /usr/share/java

同时 pi 给出以下输出:

pi@raspberrypi:~ $ whereis java
java: /usr/share/java /usr/lib/jvm/jdk-17.0.1+12/bin/java

好消息是 Java 确实以用户 pufferpanel 的身份运行:

pufferpanel@raspberrypi:/usr/lib/jvm/jdk-17.0.1+12/bin$ ./java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment Temurin-17.0.1+12 (build 17.0.1+12)
OpenJDK Server VM Temurin-17.0.1+12 (build 17.0.1+12, mixed mode, sharing)

我的猜测是 PATH 在某处被覆盖,只是不知道在哪里。

如果有更简单的方法来安装高于版本 16 的 Java 以使 Minecraft 正常工作,请告诉我!

【问题讨论】:

  • “更简单的 Java 安装方式”——比什么方式更简单? sudo apt install openjdk-17-jdk - 我想这就是你所做的,它应该正确设置 PATH 和符号链接以及所需的一切。你的配置文件看起来不错。
  • @MirekPluta Apt 很遗憾找不到那个。据我所知,这只允许我安装 openjdk 8。

标签: java linux raspberry-pi


【解决方案1】:

~/.bashrc 中设置PATH 成功,复制java.sh 并将其粘贴。起初找不到~/.bashrc,但this helped to figure that out.

由于 Pufferpanel 是另一回事,我将其标记为我的问题的答案,即让 Java 作为用户工作。

【讨论】:

    【解决方案2】:

    你正在做的很好,但你可能应该在/etc/profile.d/中创建一个custom.sh shell脚本

    至于环境变量,比如JAVA_HOME,应该进入/etc/environment

    【讨论】:

    • 我在/etc/profile.d/ 中创建了一个.sh 脚本,但是这也不起作用。 JAVA_HOME 也在 /etc/environment 中设置。我将更新问题以添加该信息
    • 确保组和其他人对带有chmod 0644 的.sh 脚本有权限。
    • 没用。把帽子扔进包里,在脚本上尝试了chmod 777,Java 所在的文件夹(带有-R)。尽管在/etc/profile.d 中执行了脚本,但重新启动仍然是java: command not found
    猜你喜欢
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2016-05-04
    • 2020-07-18
    • 2013-10-22
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多