Linux 中的 Java 问题

Linux 中的 Java 问题

首先,我想道歉,因为我不太确定这个问题是否适合在这个网站或 Stackoverflow 上提出。我最终选择了 U&L,因为这里的流量比 SO 低得多,这使得我的问题在主页上停留的时间更长。

我目前使用的是 Elementary OS 0.3 Freya。安装后,我做的头几件事之一就是使用以下命令获取 Java:

sudo add-apt-repository -y ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java9-installer

然而,那时,由于对这些术语的理解不清楚,我不太确定我实际安装的是哪种 Java(JVM、JRE、JDK)。一切都很好,直到我开始使用 Android Studio。安装过程很顺利,但我启动时提示错误程序本身。尝试了很多方法但没有效果后,我决定重新安装我的Java。这是我用来卸载Java的方法。为了确保我已完全删除它,我运行命令java --version进行检查。结果显示我卸载了 Java,但真正激发我好奇的是我仍然可以运行用 Java 编写的 Android Studio。所以我搜索并阅读澄清我的误解并意识到我已经安装了两次 JRE,因为在安装 Android Studio 之前还下载了包含 JRE 的 JDK。

所以,这是我的问题:

  1. 当我们执行上面列出的三行来安装Java时,我们是安装JRE还是JDK?

  2. 如果我们还要安装JDK,还需要安装JRE吗? (因为JDK包含JRE)

  3. 有没有像这三行命令可以安装JDK?

  4. 为什么我运行时系统检测不到我从官网下载的JDK中的JRE java --version

  5. 使用终端安装的程序和从网络下载的程序有什么区别?

很抱歉在一个线程中提出了五个问题。并感谢阅读我可笑的经历。你现在可能在嘲笑我的愚蠢,但我还是希望你能帮我解除疑虑。提前致谢。

答案1

首先尝试使用 OpenJDK 7+(存储库中提供)。

如果不起作用,请尝试

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

安装官方的JavaJDK。您不应该需要第一个命令,因为您已经完成了它,但这是供将来参考的。

运行:

sudo update-alternatives --config java

其中你可以专门选择JavaJDK。然后一切都应该按预期进行。


PS:在我看来,这个问题属于这里,因为它是特定于操作系统的,与编程无关本身。我的意思是,你可以用任何其他程序替换Java(好吧,这是我一段时间以来第一次在 Linux 上看到如此复杂的安装,我想这就是 Java 的业力;)

相关内容