如何在 Redhat linux 中将 JDK 从 Oracle 升级到 Zulu

How to upgrade JDK from Oracle to Zulu in redhat linux

我想将我的 Linux JDK 从 Oracle 升级到 Azul-Zulu。有人可以帮我做这件事吗? 下载 tar.gz Zulu 软件包后要做什么? 我看到下载的包解压后我们需要把它放在我们需要访问的路径下java。这是正确的还是我们可以做更多的事情,比如设置环境变量等

您问题的答案取决于 您实际想从 JDK 开始的内容。有时足以在启动脚本中将路径更改为 java 二进制文件,例如Eclipse或Tomcat,有时你还需要设置变量JAVA_HOME.

只为自己设置 java:

通过 运行 echo $SHELL

检查你的 shell
-> /bin/bash
-> /bin/zsh
-> /bin/tcsh

或类似的东西找到你的 shell 的配置文件:

bash: ~/.bashrc
zsh: ~/.zshrc
tcsh: ~/.cshrc or ~/.tcshrc

和可选的大多数 shells:~/.profile 或 ~/.login 如果您已经有变量声明,请检查这些文件:JAVA_HOME JRE_HOME (很少见)SDK_HOME JDK_HOME

检查这些文件是否包含变量 PATH 的设置(可能有)

如果您从上面找到任何 *_HOME 变量,您可以更改它们以反映您的新 java 主目录:例如位于 /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64 下的 zulu11.37.17-ca-jdk11.0.6-linux_x64 将意味着设置变量如下:zsh 和 bash:

export JAVA_HOME=/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64
export JRE_HOME=/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64

tcsh

setenv JAVA_HOME /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64
setenv JRE_HOME /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64

SDK_HOME 和 JDK_HOME 也可能指向上述位置,但通常未使用。

如果您将 PATH 定位到某处,它可能会显示如下内容:zsh 和 bash:

 export PATH=~/bin:$PATH

tcsh:

 setenv PATH ~/bin:$PATH

为了让您的新 java 出现在 "before" 和 "other" java 中,您需要将其更新(或创建,如果丢失)例如:zsh 和 bash:

 export PATH=~/bin:/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64/bin:$PATH

tcsh:

 setenv PATH ~/bin:/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64/bin:$PATH

完全退出并重新登录后,您的 JAVA_HOME 和 PATH 可以在 shell 中控制,如下所示:

echo $JAVA_HOME    -> should point to *your* java folder
echo $PATH         -> should contain *your* java folder's bin directroy
which java         -> should list the new java binary instead of /bin/java or /usr/bin/java

顺便说一句:变量 JAVA_HOME、JRE_HOME 和 PATH 也可以在启动脚本中设置,例如catalina.sh 用于 tomcat 或 eclipse.ini 用于 eclipse 如果您不想修改您的环境。

如果您下载 RPM/DEB 而不是 tar.gz 并安装该软件包,您(可能)不需要配置任何东西,因为这些软件包可能会为您重新配置您的系统

干杯,霍尔格