在Linux中的JAVA_HOME目录
有没有我可以用来找出JAVA_HOME
目录的Linux命令? 我试过打印出环境variables(“env”),但我找不到目录。
echo $JAVA_HOME
将打印值,如果它被设置。 但是,如果您没有在启动脚本中手动设置,则可能未设置。
如果您尝试使用which java
并且没有find任何内容,则可能不会在您的计算机上安装Java,或者至less不在您的path中。 根据您拥有的Linux发行版以及是否具有root访问权限,您可以访问http://www.java.com下载所需的版本。; 然后,你可以设置JAVA_HOME指向这个目录。 请记住,这只是一个约定,不应该用来确定是否安装Java。
在Linux上,你可以运行$(dirname $(dirname $(readlink -f $(which javac))))
在Mac上,您可以运行$(dirname $(readlink $(which javac)))/java_home
我不确定窗口,但我想象where javac
会让你非常接近
我知道这是晚了,但是这个命令search/ usr /目录为你findjava
sudo find /usr/ -name *jdk
结果到
/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-1.6.0-openjdk
仅供参考,如果您在Mac上,目前JAVA_HOME位于
/System/Library/Frameworks/JavaVM.framework/Home
如果您的环境中定义了$JAVA_HOME
…
$ echo $JAVA_HOME $ # I am not lucky...
你可以从加载的类中猜测它。
$ java -showversion -verbose 2>&1 | head -1 [Opened /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar]
这种方法可以确保你find正确的jdk
/ jre
,以防万一有多个安装。
或者使用strace
:
$ strace -e open java -showversion 2>&1 | grep -m1 /jre/ open("/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
只是另一个解决scheme,这个跨平台(使用java
),并指出你的位置的JRE。
java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
输出java
的所有当前设置,并find一个名为java.home
。
要显示您使用的环境variables的值:
echo $ VARIABLE
所以在你的情况下将是:
echo $ JAVA_HOME
如果你没有设置,你可以添加你的.bashrc
文件:
export JAVA_HOME = $(readlink -f / usr / bin / java | sed“s:bin / java ::”)
当你更新软件包时它会dynamic地改变。
在terminal上键入:
回声“$ JAVA_HOME”
如果你没有得到任何东西,那么你的环境variablesJAVA_HOME还没有设置。 您可以尝试使用“locate java”来尝试发现Java安装位置。
你有没有设置你的JAVA_HOME
- Korn和bash shell:export JAVA_HOME = jdk-install-dir
- Bourne shell:JAVA_HOME = jdk-install-dir;导出JAVA_HOME
- C shell:setenv JAVA_HOME jdk-install-dir
这是一个改进,只抓住目录到标准输出:
java -XshowSettings:properties -version 2>&1 \ | sed '/^[[:space:]]*java\.home/!d;s/^[[:space:]]*java\.home[[:space:]]*=[[:space:]]*//'
http://www.gnu.org/software/sed/manual/html_node/Print-bash-environment.html#Print-bash-environment
如果你真的想得到关于你的BASH的一些信息,把这个脚本放在你的.bashrc里,然后看它飞过。 你可以滚动浏览。