替代品java jre vs jdk

时间:2019-10-23 13:41:33

标签: java linux javac

我有一台装有多个Java安装程序的机器。以下是替代Java和Javac的代码段:

JAVA:

  1. /usr/java/jdk1.8.0_xx1/bin/java
  2. /usr/java/jdk1.8.0_xx2-amd64/jre/bin/java
  3. /usr/lib/jvm/jre-1.8.0-openjdk/bin/java

JAVAC:

  1. / usr / java / latest / bin / javac
  2. /usr/java/jdk1.8.0_xx2-amd64/jre/bin/java
  3. (缺少3个)

机器设置:

  • 为什么它们会存在于不同的目录中(/ usr / java与/ usr / lib)? linux / java这样做的原因是什么?
  • 为什么在第二个清单中使用/ jre / bin / java而不是/ bin / java,并且/ bin / java是首选?
  • 为什么没有javac用于openjdk?

我试图确定是否正确设置了这些替代方法,因为我需要JDK来编译代码。其他机器显示不同的选择。

1 个答案:

答案 0 :(得分:0)

当系统中有多个程序响应同一命令时,“ alternative”命令让我们设置将是调用该命令时将要执行的真实程序。在Java的情况下,这一点很明显。有几种JDK实现:OpenJDK,GNU,Oracle的JDK等。所有这些JDK都带有一个“ java”可执行文件。假设我们安装了几个来自不同供应商的JDK,这些JDK将在系统中运行“ java”程序时执行。

有关更多说明,请查看此博客。 https://blogs.igalia.com/dpino/2011/10/13/configuring-different-jdks-with-alternatives/