当前位置: 首页>>技术教程>>正文


如何在Debian/Ubuntu上确定JAVA_HOME?

, ,

问题描述

在Ubuntu上,可以同时具有多个JVM。使用update-alternatives选择了默认值。但是由于debian policy,因此未设置JAVA_HOME环境变量。

我正在编写启动器脚本(bash),用于启动Java应用程序。该Java应用程序需要JAVA_HOME环境变量。那么,如何获取update-alternatives当前选择的JVM的路径?

最佳方法

对于JRE,这样的事情应该可以解决问题:

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

次佳方法

danadam的解决方案可以轻松地根据需要检索JDK(即不是JRE)路径:

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • 查找JDK(而不是JRE)中包含的javac Java编译器(而不是Java)。

  • 没有尾随/(由sed s:/bin …代替s:bin …)

第三种方法

export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))

.bashrc中对我来说很方便。

第四种方法

因此,您是说此命令对您没有任何作用?

sudo update-alternatives --config java 

第五种方法

我安装了Java

sudo apt-get install openjdk-7-jre-headless

然后找到位置

ls -al /etc/alternatives/java

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10376.html,未经允许,请勿转载。