我有以下设置(在多台装有 RHEL7 的机器上):
$ which java
/usr/bin/java
$ ls -ltr /usr/bin/java
/usr/bin/java -> /etc/alternatives/java
$ ls -ltr /etc/alternatives/java
/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242b08-1.e17.x86_64/jre/bin/java
$ echo $JAVA_HOME
/etc/alternatives/jre_1.8.0_openjdk
$ ls -ltr /etc/alternatives/jre_1.8.0_openjdk
/etc/alternatives/jre_1.8.0_openjdk -> /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242-1.e17.x86_64
我需要更新到版本,所以我从artifactory中251
获取了相应的版本,将其提取出来,现在我需要更新所有的simlink才能使用最新的java版本。.tar.gz
/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.251
使用我所做的替代方案的手册页:
alternatives --install /usr/bin/java java /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.251/bin/java
哪个已修改,/etc/alternatives/java
但由于$JAVA_HOME=/etc/alternatives/jre_1.8.0_openjdk
我需要修改/更新/etc/alternatives/jre_1.8.0_openjdk
。
我不确定要添加什么内容<link>
才能alternatives --install <link> <name> <path> <priority>
更新/etc/alternatives/jre_1.8.0_openjdk
。
我什至不确定这是更新 java 版本的正确方法。谢谢
答案1
这是手动插入的正确方法选择在替代系统中。
您的alternatives
工具是原始 Debianupdate-alternatives
工具的移植版。有了这个工具和你的端口,就有了
更新替代方案--显示jre_1.8.0_openjdk
它应该告诉您要与 一起使用的“通用名称” --install
。 vanilla Debian 工具也有
更新替代方案 --query jre_1.8.0_openjdk获取可在管道中使用的机器可读形式,但是您的系统没有。
然而:在 RHEL 上,Java 安装的安装带有--slave
选项,--install
以便 JRE 与程序同步切换java
。事实上,--slave
软件包的安装脚本设置了 20 到 50 个选项。见证喜欢的人AdoptOpenJDK 中的 OpenJDK 安装后脚本模板(注意,它甚至没有设置 JRE 替代方案)。
实际上,这不是您能够构建的、无错误的、手写的、与您已有的相匹配的东西。不要从原始 TAR 存档下载并安装。使用包。