我整天都在为此苦苦挣扎。我尝试按照此处的说明运行本地数据存储模拟器。当我到达调用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,我的PATH如下所示
# 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 的目录
从现在开始,如果您打开一个新终端(或者如果您. ~/.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 才能优先,
最终不得不删除 JDK 9 并安装 8,它(看起来像)兼容的版本字符串 (1.8.X),根据 @alan-bateman的建议