如何在ubuntu中找到我当前的JAVA_HOME?

如何在ubuntu中找到我当前的JAVA_HOME? 我必须在安装maven时设置java_home路径。

输入终端,

echo $JAVA_HOME

显示JAVA_HOME变量路径。

如果没有出现,那么设置它

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

这将根据您的JDK类型和版本而有所不同

用于显示跟随第一个命令。

按照这篇文章使用不同的JDK或在JDK之间切换

如果您安装了JDK 1.6(对应于Java 6)或更新版本,那么您的PATH应该有一个名为jrunscript的程序。 您可以使用它来查找相应的JAVA_HOME 。 例:

 $ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));' /opt/local/jdk1.7.0_76/jre 

您可以像这样设置环境变量:

 $ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')" 

请注意,JRE不包含jrunscript ,因此只有在安装JDK而不仅仅是JRE时才能使用。

另一个可移植的选项是从javac提取JDK的绝对路径:

 export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname` 

绝对的javac路径被传递给dirname两次以从末尾删除/bin/javac 。 完整提取目录如下:

 $ type -p javac /usr/bin/javac $ readlink -f /usr/bin/javac /usr/lib/jvm/java-8-oracle/bin/javac $ dirname /usr/lib/jvm/java-8-oracle/bin/javac /usr/lib/jvm/java-8-oracle/bin/ $ dirname /usr/lib/jvm/java-8-oracle/bin/ /usr/lib/jvm/java-8-oracle/ 

考虑更新替代机制:

 $ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre' 

您可以像这样设置环境变量:

 $ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')" 

只需运行一个命令

  sudo update-alternatives --config java 

它会给出类似的东西

 Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java 

从这里你有/ usr / lib / jvm / java-8-oracle /作为java home。 您现在可以将其导出到JAVA_HOME变量

 export JAVA_HOME=/usr/lib/jvm/java-8-oracle/ 

现在echo $ JAVA_HOME显示出来

我在Ubuntu LTS(14.04 / 16.04)中使用它:

 [ -L /etc/alternatives/java ] && export JAVA_HOME="$(readlink -f /etc/alternatives/java | sed -e 's/\/jre\/bin\/java$//')"