我正在按照这个链接 如何为Java设置JAVA_HOME? 来设置环境变量
然而,如果我运行
JAVA_HOME
到正确的版本。如下图所示,我在/usr/lib/jvm/
文件夹中有不同版本的java
。
我在环境
文件中添加了JAVA_HOME="/usr/lib/jvm/java-8-oracle"
。PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
export JAVA_HOME
然而,如果我运行
google-refine
,我会遇到以下错误:./refine: 98: [: /tmp/refine.S4a2EGD: unexpected operator
Google Refine requires Java version 6 or later. If you have multiple versions of Java installed, please set the environment variable JAVA_HOME to the correct version.
java -version
和printenv | grep JAVA_HOME
。如果 $JAVA_HOME 没有任何输出,您必须在以下文件的末尾添加新的 PATH 定义:~/.bashrc
和~/.profile
。 - Redbobjava -version
,我得到的结果是java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
;而当我输入printenv | grep JAVA_HOME
时,我得到的结果是JAVA_HOME=/usr/lib/jvm/java-8-oracle
。 - emaxsudo update-alternatives --display java
。或许 Google-refine 无法理解您的默认 Java,或者它与 JDK(您正在运行 JRE)兼容性更好。如果上述命令的结果与预期不符,请访问此页面调整您的 Java 环境。 - Redbobjava - 自动模式 最佳版本链接为 /usr/lib/jvm/java-8-oracle/jre/bin/java 当前链接指向 /usr/lib/jvm/java-8-oracle/jre/bin/java java 链接为 /usr/bin/java slave java.1.gz 为 /usr/share/man/man1/java.1.gz /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - 优先级 1081 slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz /usr/lib/jvm/java-8-oracle/jre/bin/java - 优先级 1081 slave java.1.gz: /usr/lib/jvm/java-8-oracle/man/man1/java.1.gz
- emaxexport JAVA_HOME
是多余的。/etc/environment
不是一个脚本文件。 - Gunnar Hjalmarsson