我想将我的 Linux JDK 从 Oracle 升级到Azul-Zulu。有人可以帮我做这件事。下载tar.gz Zulu包后怎么办?我看到解压下载的包后我们需要把它放在我们需要访问java的路径中。这是正确的还是我们可以做的更像是设置环境变量等。
1 回答
您的问题的答案取决于您真正想从 JDK 开始什么。有时在启动脚本(例如 Eclipse 或 Tomcat)中更改 java 二进制文件的路径就足够了,有时您还需要设置变量 JAVA_HOME。
仅为自己设置 java:
通过运行 echo $SHELL 检查你的 shell
-> /bin/bash
-> /bin/zsh
-> /bin/tcsh
或类似的东西找到你的shell的配置文件:
bash: ~/.bashrc
zsh: ~/.zshrc
tcsh: ~/.cshrc or ~/.tcshrc
以及可选的大多数 shell: ~/.profile 或 ~/.login 如果您已经有以下变量声明,请检查这些文件: JAVA_HOME JRE_HOME(很少见) SDK_HOME JDK_HOME
检查这些文件中的任何一个是否包含变量 PATH 的设置(可能有)
如果您从上面找到任何 *_HOME 变量,您可以更改它们以反映您的新 java 主目录:例如 zulu11.37.17-ca-jdk11.0.6-linux_x64 位于 /opt/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 出现在“其他”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 也可以在 startscript 中设置,例如,如果您不想修改您的环境,则用于 tomcat 的 catalina.sh 或用于 eclipse 的 eclipse.ini。
如果您下载 RPM/DEB 而不是 tar.gz 并安装您(可能)不需要配置任何东西的软件包,因为这些软件包可能会为您重新配置您的系统
干杯,霍尔格