私は職場でopenjdkを使用していますが、時にはoracleのjreまたはoracleのjreの特定のバージョンが必要な場合もあります。私が知っている限り、JAVA_HOME
値や/usr/bin/java
リンク/etc/alternatives/java
先を更新する必要があります。特定のプロセスに対して一時的にこれらの変更を実行するためのスマートで安全で簡単な方法はありますか?ありがとうございます! (私はDebian Linuxの不安定なリポジトリを使用しています)
答え1
特定のプロセスに対して一時的にこれらの変更を実行するためのスマートで安全で簡単な方法はありますか?
このような環境変数は$JAVA_HOME
継承され、システム全体ではありません。したがって、特定の方法で設定するとそのプロセスにのみ適用され、エクスポートすると生成されるすべてのプロセスに適用されます。
ここでのプロセスはシェルインスタンスです。コマンドラインからこれを行うか、次のように作成できます。
#!/bin/sh
PATH=/opt/oracle/java/bin:$PATH
export $PATH
exec whatever.jar
これがどのように機能するのかわからない場合は、$PATH
ディレクトリを順番に調べます。この場合、/opt/oracle/java/bin
他のものよりも先に検索が実行され、java
必要に応じてそこにあるディレクトリが使用されます。
.jar
実行するファイルを指定するためにパラメーターを使用するために呼び出すときに指定することができます。.class
使用するJavaインストールのいくつかの短縮パラメーター(例えばif [[ $1 == 2 ]]; then PATH=/opt/oracle2/java/bin...
。
これは$PATH
(そして$JAVA_HOME
それを行う場合でも)スクリプトとスクリプトが起動するすべての項目にのみ適用されます。
作業している場合は、export
1つの端末で変数を使用でき、その変数はその端末にのみ適用されます。 JDKがインストールされている場合などはbin
同じディレクトリに含まれますjavac
。