有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google Cloud SDK数据存储模拟器JRE版本不匹配?

我一整天都在为这件事挣扎。我试图按照说明here运行本地数据存储模拟器。当我进入调用gcloud beta emulators datastore start的步骤时,我反复出现错误

ERROR: (gcloud.beta.emulators.datastore.start) The java executable on your PATH is not a Java 7+ JRE. The Google Cloud Datastore emulator requires a Java 7+ JRE installed and on your system PATH

我已经安装了JDK 9X和JRE 9X,我的路径如下所示

# export JAVA_9_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/"
export JRE_9_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
export JAVA_9_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home"

export JAVA_HOME=$JRE_9_HOME
# export JAVA_HOME=$JAVA_9_HOME


# Setting JRE into Path
# PATH="$PATH:$JRE_HOME"
# export PATH

# Setting JDK into Path
PATH="$PATH:$JAVA_HOME"
export PATH

# export JAVA_OTHER="/System/Library/Frameworks/JavaVM.framework/Home"
# # Setting JDK into Path
# PATH="$PATH:$JAVA_OTHER"
# export PATH

正如你所看到的,我尝试了很多组合,但都没有成功:(


共 (2) 个答案

  1. # 1 楼答案

    根据@alan bateman的建议,最终不得不删除JDK 9并安装8,后者(看起来)有一个兼容的版本字符串(1.8.X)

  2. # 2 楼答案

    你确定Java 9真的可以在你的设置中运行吗? 命令java -version的输出是什么

    如果你在mac上运行,你应该有这个(在你的bash_档案或bashrc中)

    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    export PATH=$JAVA_HOME/bin:$PATH
    

    在另一个linux设备上,您可以将以下内容添加到您的bashrc/bash_配置文件中:

    export JAVA_HOME=/home/myuser/dev/tools/java/jdk9
    export PATH=$JAVA_HOME/bin:$PATH
    

    其中/home/myuser/dev/tools/java/jdk9是解包JDK的目录

    从现在开始,如果您打开一个新的终端(或者如果您的源文件. ~/.bashrc),然后键入命令

    java -version
    

    你应该看到这样的东西:

    java version "9.0.1"
    Java(TM) SE Runtime Environment (build 9.0.1+11)
    Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
    

    请注意,导出PATH变量时,需要在$PATH之前设置JAVA_HOME/bin,以便优先