【问题标题】:Unable to find JAVA_HOME找不到 JAVA_HOME
【发布时间】:2017-08-01 20:30:44
【问题描述】:

我将最新的 java 1.8 复制到了 red hat Linux 服务器。我运行命令 java -version 并返回版本 1.7.0_131。我将 .bashrc 和 jre 更新到了最新版本 1.8。当我运行命令 version java -version 时,它仍然显示它的版本 1.7.0_31。我需要知道这是从哪里获取的。我检查了 .profile、.bashrc 和 JAVA_HOME 它们都指向我更新到 1.8 的位置。非常感谢您的帮助。

【问题讨论】:

    标签: linux unix java-home


    【解决方案1】:

    键入which java,您可能会看到(至少在您遵循所有符号链接之后)Java 可执行文件是从您新设置的 JAVA_HOME 以外的其他地方获取的。您还需要为 1.8 版创建适当的符号链接,如下所示:

    ln -s /your/path/to/v18/bin/java /usr/bin/java
    

    请注意,现有应用程序可能使用 1.7 Java 版本,当您将 /usr/bin/java(或 which 命令显示的任何路径)设置为 1.8 版本时,您可能会破坏它们。

    仅供参考,JAVA_HOME 并不打算被您的 shell 用来定位 Java 命令。它供其他需要 Java 知道在哪里找到它的软件使用。

    【讨论】:

    • ...这是一个符号链接。用ls -al /usr/bin/java检查它的去向
    • 那行得通。谢谢。当我做 which java 我得到 /usr/bin/java/.当我执行 which java 时,我需要做什么才能看到这个结果“/opt/adobe/java/jre/bin/java”?
    • PATH=/opt/adobe/java/jre/bin:$PATH。顺便说一句,考虑使用type java 而不是which java -- 前者内置在 bash 中,后者需要运行外部命令。
    • @SGR29 要么像 Charles Duffy 建议的那样将它添加到您的路径中,要么像我的帖子中那样创建一个符号链接。其中之一可能对您的系统更有意义,但无法从此处确定。 Charles Duffy,感谢 type 的提示。
    • 太棒了。谢谢,伙计们!
    【解决方案2】:

    这样做一次

    export JAVA_HOME=/jdk/path
    

    如果您连续使用它,请将上述代码添加到您的 .bashrc 文件或配置文件中。然后打开新终端或运行以下代码

    source .bashrc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 2012-07-13
      相关资源
      最近更新 更多