为什么 Ubuntu 中有很多 Java 的文件夹?

Why are there many folders for Java in Ubuntu?

我是 java 开发的新手,但如果有什么事情总是让我很困惑,那就是 JDK x JRE 的区别。

现在我想了解每个包含Java代码的文件夹中安装了什么

例如有这个文件夹:

/usr/lib/jvm/java-8-oracle/

里面还有一个叫JRE的文件夹。那是 JRE 吗?

如果有,JDK 安装在哪里?是否有一个文件夹,或者源是在现有文件夹中拆分的?

如果我 运行 whereis java 它打印

/usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

如果我 运行 which java 它说

/usr/bin/java

谁能给我一个简短的解释?

在 Unux 中,将应用程序安装在其自己的目录中是很常见的。这使管理更加容易。缺点是你的 shell 不会在那里找到它,除非你将它添加到 PATH 或在公共目录中向它添加 link 就像 java.[=15 的情况一样=]

在您的情况下,您可以找到 JDK 和

which javac

但是,除非您安装了它,否则您可能没有它。

有两种方法可以检查文件或目录是否已配置。你可以做到

ls -ld /usr/bin/java

file /usr/bin/java

注意:java 是包的名称和该包中程序的名称,这就是它可以多次出现的原因。

顺便说一句,/usr/share/man/man1/java.1.gz 用于手册或 "man" 页,用于 Java。