如何用下载的二进制文件替换普通的java?

如何用下载的二进制文件替换普通的java?

在 Debian Stable 中,可用的最新openjdk版本是17.

$ which -a java
/usr/bin/java
/bin/java
$ java --version
openjdk 17.0.8 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.8+7-Debian-1deb12u1, mixed mode, sharing)

我想测试21一下即将发布的版本,所以我直接下载了二进制文件。

$ curl https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz
$ tar -xzf openjdk-21_linux-x64_bin.tar.gz
$ cd jdk-21
$ ./bin/java --version
openjdk 21 2023-09-19
OpenJDK Runtime Environment (build 21+35-2513)
OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)
$ which -a java
/usr/bin/java
/bin/java
$ java --version
openjdk 17.0.8 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.8+7-Debian-1deb12u1, mixed mode, sharing)

我希望我的所有脚本都使用新的 java 二进制文件,而不必手动编辑其中的所有java条目。也就是说,在调用时java我希望运行新的二进制文件。我可以java通过简单地复制粘贴到/usr/bin/和来替换库存/bin/吗?也就是说,这行得通吗?

$ mv ./bin/* /usr/bin/
$ mv ./bin/* /bin/

我是否还需要复制其他文件夹,jdk-21例如conflib?替换普通java会产生任何副作用吗?

答案1

简单修改一下PATHrealpath ./bin可以了。

例如,在 中~/.bashrc,您可以使用export PATH="/home/yyhh344/Downloads/java-21/bin:$PATH".

您可能还需要设置JAVA_HOME其他Java环境变量取决于您的使用情况。

相关内容