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


当前回答

这取决于你的包装系统。如果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

其他回答

使用find来定位它。它应该在/usr下面的某个地方:

find /usr -name java

在运行该命令时,如果有太多的“Permission denied”消息混淆了实际找到的结果,那么只需将stderr重定向到/dev/null

find /usr -name java 2> /dev/null
$ which java 

应该给你什么

/usr/bin/java

在Linux Fedora30上有几个完整的java JDK版本,特别是包名:

java-1.8.0-openjdk-devel.x86_64 
java-11-openjdk-devel.x86_64

安装完成后,可以在:/usr/lib/jvm中找到它们

要选择完整开发JDK的位置/目录(它不同于简单的仅运行时JRE),请查找以下条目:

ls -ld java*openjdk*

这里有两个不错的选择,它们是特定版本的链接,你必须在那里选择版本:

/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk

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

which javac

or

cd /
find . -name 'javac'

这取决于你的包装系统。如果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