我可以使用任何linux命令查找JAVA_HOME
目录吗?我已经尝试打印出环境变量(“env”)但我找不到该目录。
答案 0 :(得分:71)
在Linux上,您可以运行$(dirname $(dirname $(readlink -f $(which javac))))
在Mac上,您可以运行$(dirname $(readlink $(which javac)))/java_home
我不确定Windows,但我想where javac
会让你非常接近
答案 1 :(得分:53)
echo $JAVA_HOME
将打印该值。但是,如果您未在启动脚本中手动设置它,则可能未设置它。
如果您尝试which java
并且找不到任何内容,则可能未在您的计算机上安装Java,或者至少不在您的路径中。根据您拥有的Linux发行版以及是否具有root访问权限,您可以转到http://www.java.com下载所需的版本。然后,您可以将JAVA_HOME设置为指向此目录。请记住,这只是一个约定,不应该用于确定是否安装了java。
答案 2 :(得分:34)
我知道这已经晚了,但是这个命令搜索/ usr /目录以找到你的
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
答案 3 :(得分:26)
只是另一个解决方案,这个跨平台(使用java
),并指向jre的位置。
java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
输出所有java
的当前设置,并找到名为java.home
的设置。
对于Windows,你可以使用findstr而不是grep。
java -XshowSettings:properties -version 2>&1 | findstr "java.home"
答案 4 :(得分:9)
显示您使用的环境变量的值:
echo $ VARIABLE
所以在你的情况下将是:
echo $ JAVA_HOME
如果您没有设置,可以添加.bashrc
文件:
export JAVA_HOME = $(readlink -f / usr / bin / java | sed“s:bin / java ::”)
,当您更新软件包时,它会动态更改。
答案 5 :(得分:8)
如果您的环境中定义了$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]
此方法可确保您找到在多次安装时使用的正确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)
答案 6 :(得分:2)
在终端上,输入:
echo“$ JAVA_HOME”
如果您没有得到任何内容,那么您的环境变量JAVA_HOME尚未设置。您可以尝试使用“locate java”来尝试发现Java的安装位置。
答案 7 :(得分:2)
您是否设置了JAVA_HOME
答案 8 :(得分:1)
这是一个改进,只抓住stdout的目录:
java -XshowSettings:properties -version 2>&1 \
| sed '/^[[:space:]]*java\.home/!d;s/^[[:space:]]*java\.home[[:space:]]*=[[:space:]]*//'
答案 9 :(得分:-1)
http://www.gnu.org/software/sed/manual/html_node/Print-bash-environment.html#Print-bash-environment
如果您真的想获得有关您的BASH的一些信息,请将该脚本放入您的.bashrc并观看它。你可以滚动并查看它。