Java-Linux中的JAVA_HOME目录
我可以使用任何Linux命令找出JAVA_HOME目录吗? 我尝试打印出环境变量(“ env”),但是找不到目录。
10个解决方案
68 votes
在Linux上,您可以运行where javac
在Mac上,您可以运行where javac
我不确定窗户,但我想where javac会让你很近
jsdevel answered 2019-10-10T01:49:31Z
53 votes
which java将打印该值(如果已设置)。 但是,如果您没有在启动脚本中手动设置它,则可能未设置。
如果您尝试which java却找不到任何东西,则可能是您的计算机上未安装Java,或者至少没有安装Java。 根据您拥有的Linux发行版以及是否具有root用户访问权限,可以转到[http://www.java.com]下载所需的版本。 然后,您可以将JAVA_HOME设置为指向该目录。 请记住,这只是一个约定,不应该用于确定是否已安装Java。
AdamC answered 2019-10-10T01:48:54Z
34 votes
我知道已经晚了,但是此命令搜索/ usr /目录为您找到java
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
cevaris answered 2019-10-10T01:50:15Z
26 votes
另一个解决方案是该平台的跨平台(使用2562460210619220920992),并将您指向jre的位置。
java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
输出所有25624602106192209209的当前设置,并找到一个名为java.home的设置。
对于Windows,您可以使用findstr而不是grep。
java -XshowSettings:properties -version 2>&1 | findstr "java.home"
Parth Mehrotra answered 2019-10-10T01:50:54Z
9 votes
要显示环境变量的值,请使用:
回声$ VARIABLE
因此您的情况将是:
回声$ JAVA_HOME
如果没有设置,可以在.bashrc文件中添加:
导出JAVA_HOME = $(readlink -f / usr / bin / java | sed“ s:bin / java ::”)
当您更新软件包时,它会动态变化。
Paulo Fidalgo answered 2019-10-10T01:51:59Z
8 votes
如果您的环境中定义了strace ...
$ 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]
如果有多个安装,此方法可确保找到正确的strace/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)
dnozay answered 2019-10-10T01:52:46Z
2 votes
在终端上,键入:
回声“ $ JAVA_HOME”
如果您什么都没得到,那么您的环境变量JAVA_HOME尚未设置。 您可以尝试使用“ locate java”来尝试发现Java安装所在的位置。
Michael Aaron Safyan answered 2019-10-10T01:53:25Z
2 votes
您是否设置了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安装目录
Nizar Grira answered 2019-10-10T01:54:13Z
1 votes
这是一项改进,仅抓取标准输出目录:
java -XshowSettings:properties -version 2>&1 \
| sed '/^[[:space:]]*java\.home/!d;s/^[[:space:]]*java\.home[[:space:]]*=[[:space:]]*//'
answered 2019-10-10T01:54:38Z
-1 votes
[http://www.gnu.org/software/sed/manual/html_node/Print-bash-environment.html#Print-bash-environment]
如果您真的想获取有关BASH的一些信息,请将该脚本放入.bashrc中,然后观察它的运行情况。 您可以滚动查看。
Douglas G. Allen answered 2019-10-10T01:55:11Z