JAVA_HOME 设置到错误的目录

Jos*_*arp 23 eclipse java minecraft

各位 Ubuntu 用户,大家好,

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

./gradlew setupDecompWorkspace eclipse
Run Code Online (Sandbox Code Playgroud)

这产生以下

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.
Run Code Online (Sandbox Code Playgroud)

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

And*_*huk 42

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

export JAVA_HOME="path_to_java_home"

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

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

readlink -f $(which java)

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

  • 您应该将其设置为 bin/java 表示 `export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"` 的文件夹,而不是 `export JAVA_HOME="/usr/lib/jvm/java -7-openjdk-amd64/jre/bin/java"` (7认同)
  • 好像你的出口是错误的。请显示您使用的导出命令。并显示 `readlink -f $(which java)` 输出 (2认同)

Tud*_*soi 19

要使其在 Linux/Ubuntu 上自动运行,请在您的末尾添加以下行.bashrc

JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

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

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

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

这是建立在 Andrew Onischuk 之前的回答之上的(谢谢!)