Google Cloud SDK 数据存储模拟器 JRE 版本不匹配?
Google Cloud SDK Datastore Emulator JRE Version Mismatch?
我整天都在为此苦苦挣扎。我尝试按照说明 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
如您所见,我一直在尝试多种组合,但都没有成功:(
您确定 Java 9 在您的设置中真的可以运行吗?
命令 java -version
的输出是什么?
如果你在 mac 上 运行 你应该有这个(在你的 bash_profile 或 bashrc 中)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=$JAVA_HOME/bin:$PATH
在另一个 linux 框中,您可以将以下内容添加到您的 bashrc/bash_profile 中:
export JAVA_HOME=/home/myuser/dev/tools/java/jdk9
export PATH=$JAVA_HOME/bin:$PATH
其中 /home/myuser/dev/tools/java/jdk9 是您解压 JDK
的目录
从现在开始,如果您打开 new 终端(或者如果您获取文件 . ~/.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 变量时,JAVA_HOME/bin 需要设置在 $PATH 之前才能优先,
根据@alan-bateman[的建议,最终不得不删除 JDK 9 并安装 8,它具有(看起来)兼容的版本字符串 (1.8.X) =10=]
我整天都在为此苦苦挣扎。我尝试按照说明 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
如您所见,我一直在尝试多种组合,但都没有成功:(
您确定 Java 9 在您的设置中真的可以运行吗?
命令 java -version
的输出是什么?
如果你在 mac 上 运行 你应该有这个(在你的 bash_profile 或 bashrc 中)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=$JAVA_HOME/bin:$PATH
在另一个 linux 框中,您可以将以下内容添加到您的 bashrc/bash_profile 中:
export JAVA_HOME=/home/myuser/dev/tools/java/jdk9
export PATH=$JAVA_HOME/bin:$PATH
其中 /home/myuser/dev/tools/java/jdk9 是您解压 JDK
的目录从现在开始,如果您打开 new 终端(或者如果您获取文件 . ~/.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 变量时,JAVA_HOME/bin 需要设置在 $PATH 之前才能优先,
根据@alan-bateman[的建议,最终不得不删除 JDK 9 并安装 8,它具有(看起来)兼容的版本字符串 (1.8.X) =10=]