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
の他のフォルダもコピーする必要がありますか?一般的なJavaを置き換えると副作用はありますか?conf
lib
答え1
簡単な修正で十分PATH
ですrealpath ./bin
。
たとえば、 で~/.bashrc
使用できますexport PATH="/home/yyhh344/Downloads/java-21/bin:$PATH"
。
また、設定JAVA_HOME
とその他のJava環境変数あなたの使用量によって異なります。