为什么其中一个应用程序认为 JAVA_HOME 设置为 openjdk 9 目录?

为什么其中一个应用程序认为 JAVA_HOME 设置为 openjdk 9 目录?

应用程序(Cocos2d-x)告诉我们

JAVA_HOME 设置为无效目录:/usr/lib/jvm/java-1.9.0-openjdk-amd64

我的/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-1.8.0-openjdk-amd64
export JAVA_HOME

内容~./bashrc

# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT="/usr/share/ant/bin"
export PATH=$ANT_ROOT:$PATH
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"

输出whereis java

java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

输出which java

/usr/bin/java

输出java -version

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode

ls /usr/lib/jvm给出这个:

java-1.8.0-openjdk-amd64 java-8-openjdk-amd64

JDK 本身可以工作:我可以编译 Java 程序和 Android Studio(非 cocos)。

答案1

两件事情:

  1. 这行export JAVA_HOME不应该在/etc/emvironment,然后做JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64这个JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64",然后
  2. 这一JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"~/.bashrc应该被替换为以下几行:

    JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
    export PATH=$PATH:$JAVA_HOME/bin
    

相关内容