【问题标题】:Error: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-8-oracle/jre/bin/java when i run gradle command in terminal错误:当我在终端中运行 gradle 命令时,JAVA_HOME 设置为无效目录:/usr/lib/jvm/java-8-oracle/jre/bin/java
【发布时间】:2023-03-17 08:50:01
【问题描述】:

我在 Ubuntu 16.04 中工作。我需要安装 gradle 并且当我使用 sudo apt list --installed 命令检查时安装了 gradle 但是当我使用 gradle -version 命令时它显示以下错误, JAVA_HOME 设置为无效目录:/usr/lib/jvm/java-8-oracle/jre/bin/java

在 sudo vim /etc/environment 文件中,

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
http_proxy="http://username:password@IP:port no/"
https_proxy="https://IP:port no/"
ftp_proxy="ftp://IP:port no/"

我不知道我在哪里犯了错误。请帮帮我。

谢谢。

【问题讨论】:

  • 尝试只设置bin目录的路径,不要再设置/usr/lib/jvm/java-8-oracle/jre/bin/

标签: java linux ubuntu gradle gradlew


【解决方案1】:

在 64 位 openSuse 64 42.1 机器上;

readlink -f $(which java)

提供;

/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/bin/java

但是;

export JAVA_HOME=/usr/lib64/jvm/jre-1.8.0-openjdk

是有效并允许 java 模拟器运行的路径。

所以我认为我们必须手动浏览我们的文件系统并查看要选择的路径。

【讨论】:

  • 在 Debian 上工作
【解决方案2】:

今天我遇到了这个问题。我正在使用您的 linux 发行版附带的默认 java(所以在我的情况下,是 linux mint)。

$ whereis java

这个命令给了我

java: /usr/bin/java /usr/share/java

所以,我打开了/user/bin。有一个指向Java 的链接。我右键单击它并选择follow original link。这将我引向/usr/lib/jvm/java-11-openjdk-amd64/bin/java。 所以现在我知道这个 java 在哪里,我打开了我的.bashrc 文件,并编辑了 JAVA_HOME。 所以就我而言,

## My Custom variables
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

这解决了问题。

现在,如果您正在使用其他 java(比如您从 oracle 下载并提取了 zip 文件...),那么您必须添加该位置。所以举个例子,如果你的java在/home/user/.sdkman/candidates/java/current,那么

export JAVA_HOME=/home/user/.sdkman/candidates/java/current
export PATH=$JAVA_HOME/bin:$PATH

【讨论】:

  • 我正在使用 hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/… 安装 hadoop 我完成了所有步骤,直到编辑 hadoop-env.sh 文件中的 JAVA_HOME 变量。为了找到 java 的实际路径,我遵循与您相同的过程,但是在执行 ./hadoop 命令时出现错误: ERROR: JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre/bin /java 不存在。
【解决方案3】:

我发现不匹配。在您的环境文件中,JAVA_HOME 设置为“/usr/lib/jvm/java-8-openjdk-amd64/”,并且您提到您遇到的错误与 JAVA_HOME 有关为“/usr/lib/jvm/java- 8-oracle/jre/bin/java"

如果您的 JAVA 确实安装在 /usr/lib/jvm/java-8-oracle 目录中,那么您需要确保将 JAVA_HOME 设置为该目录。而且你的 PATH 也反映了 $JAVA_HOME/bin 。

我通常将 Oracle JDK/JRE 单独安装在单独的目录中,例如 /usr/local/jdk1.8.0 等。

【讨论】:

  • 现在我已经按照您所说的将 PATH 设置为 java -8- oracle 但仍然收到与无效目录相同的错误“/usr/lib/jvm/java-8-oracle/jre/bin/java "
  • 在您的命令路径上,您应该看到相同的 JAVA_HOME 和 PATH。为此,您可以在命令提示符下运行“echo $JAVA_HOME”和“echo $PATH”。
  • 我使用了“echo$JAVA_HOME”,我可以看到路径为 /usr/lib/jvm/java-8-oracle/jre/bin/java
  • 那是错误的。你的 JAVA_HOME 应该只到 /usr/lib/jvm/java-8-oracle
  • 我在 env 文件中设置了 /usr/lib/jvm/java-8-oracle,但它在终端中显示 /usr/lib/jvm/java-8-oracle/jre/bin/java。我该怎么办,请帮帮我。
【解决方案4】:

从 Files 中检查 jvm 安装文件夹 例如:/usr/lib/jvm/java-12-oracle

然后在终端运行 sudo nano /etc/environment 并添加该行 JAVA_HOME="/usr/lib/jvm/java-12-oracle"

然后打开终端运行 export JAVA_HOME="/usr/lib/jvm/java-12-oracle"

【讨论】:

    猜你喜欢
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多