JAVA_HOME 设置到了错误的目录

JAVA_HOME 设置到了错误的目录

各位 Ubuntu 用户,大家好,

我正在尝试学习如何编写 Minecraft 修改。为了遵循我正在使用的教程,我需要运行“gradlew”。命令如下

./gradlew setupDecompWorkspace eclipse

得出以下结论

ERROR: JAVA_HOME is set to an invalid directory: /usr/local/java/jdk1.8.0_20

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

显然我不知道该怎么做,甚至不知道这意味着什么。任何帮助我都非常感谢。

答案1

在运行命令之前尝试输入:

export JAVA_HOME="path_to_java_home"

其中 path_to_java_home 是您的 bin/java 所在的文件夹。

如果 java 已正确安装,您可以使用以下命令找到它的位置:

readlink -f $(which java)

将其放入 JAVA_HOME 时,不要忘记从路径末尾删除 bin/java

答案2

为了使其在 Linux/Ubuntu 上自动运行,请在文件末尾添加以下几行.bashrc

JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME

这将获取 java 可执行文件,然后爬升至目录级别

要在 Debian/Ubuntu 上指定默认的 Java 版本/可执行文件,请运行此命令一次

sudo update-alternatives --config java

这是基于 Andrew Onischuk 之前的回答(感谢!)

答案3

使用命令获取 Java 路径

whereis java

以下是可能的输出,具体取决于您的默认 Java 版本

java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk1.8.0_241/jre/bin/java

Maven 需要选择 Java 位置(home),以便您可以使用以下命令导出 Java 路径

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre

这将允许 Maven 在 /etc/environment 文件中选取 Java 版本和位置

您也可以选择使用以下命令手动将其添加到 /etc/environment 中

sudo nano /etc/environment

并编辑JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/

答案4

使用 sudo 运行

sudo ./gradlew setupDecompWorkspace eclipse

您不是运行此命令的 sudo 执行者

因此添加须藤對它來說。

相关内容