我有一台安装了多个java的机器。以下是来自替代Java和javac的代码片段:
.JAVA:
/- usr/java/jdk1.8.0_xx1/bin/java /
- usr/java/jdk1.8.0_xx2-amd64/jre/bin/java /
- usr/lib/jvm/jre-1.8.0-openjdk/bin/java
贾瓦克:
/- usr/java/latest/bin/javac /
- usr/java/jdk1.8.0_xx2-amd64/jre/bin/java
- (缺少 3 个)
机器设置:
- 为什么它们会存在于不同的目录中(/usr/java vs/usr/lib)?如果有的话,linux/java 的原因是什么?
- 为什么在第二个列表中使用/jre/bin/java 而不是/bin/java,/bin/java 会更受欢迎吗?
- 为什么没有javac for openjdk?
我正在尝试确定这些替代方案是否正确设置,因为我需要 JDK 来编译代码。其他机器显示不同的替代方案。
当系统中有多个程序响应同一命令时,"alternatives"命令让我们设置调用该命令时将执行的真实程序。这在Java的情况下非常明显。有几种JDK实现:OpenJDK,GNU,来自Oracle的JDK等。所有这些JDK都带有一个"java"可执行文件。假设我们安装了来自不同供应商的几个JDK,当"java"程序运行时,这将是在我们的系统中执行的JDK。
有关更多说明,请查看此博客。 https://blogs.igalia.com/dpino/2011/10/13/configuring-different-jdks-with-alternatives/