我使用apt-get install安装JDK,但我不知道我的JDK文件夹在哪里。我得为这事做准备。有人知道地点吗?


当前回答

这是对我最有效的方法 执行该命令:-

$(dirname $(readlink $(which javac)))/java_home

其他回答

另一种找到Java文件夹路径的最好方法是在Fedora Linux中使用alternatives命令(我知道它适用于Ubuntu,但我只是从谷歌的标题中找到了这篇文章)。只是想分享一下,以防像我这样寻找软呢帽味道答案的人。

显示有关java的所有信息

alternatives --display java

这个问题会被移开,但你可以做下面的事情

which javac

or

cd /
find . -name 'javac'

这个问题似乎仍然相关,答案似乎是一个移动的目标。

在我的debian系统上(buster):

> update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

但是,如果您真的去看看那里,您将看到包系统在那里放置了多个目录和符号链接,以简化未来的维护。

实际目录是java-11-openjdk-amd64,带有default-java的另一个符号链接。还有一个openjdk-11目录,但它似乎只包含一个source.zip文件。

鉴于此,对于Debian ONLY,我猜最好的值是使用/usr/lib/jvm/default-java,因为这应该总是有效的,即使你决定安装一个完全不同的java版本,甚至更换供应商。

想要知道路径的正常原因是一些应用程序需要它,你可能不希望那个应用程序因为升级改变了版本号而崩溃。

命令:sudo update-alternatives——config java将找到所有已安装java版本的完整路径

这取决于你的包装系统。如果Java命令有效,您可以输入readlink -f $(哪个Java)来查找Java命令的位置。在我现在使用的OpenSUSE系统上,它返回/usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java(但这不是一个使用apt-get的系统)。


在Ubuntu上,对于OpenJDK,它看起来在/usr/lib/jvm/java-6- OpenJDK /,而对于Suns JDK(以及其他实现),它在/usr/lib/jvm/的其他子目录中。

Debian也是一样。


对于任何给定的包,您都可以通过查询dpkg来确定它安装什么文件以及安装它们的位置。例如,对于'openjdk-6-jdk'包:dpkg -L openjdk-6-jdk