Ubuntuでは、同時に複数のJVMを使用できます。でデフォルトのものが選択されupdate-alternatives
ます。しかし、これはdebian policyのJAVA_HOME
ため、環境変数を設定しません。
Javaアプリケーションを起動するランチャースクリプト(bash)を書いています。このJavaアプリケーションにはJAVA_HOME
環境変数が必要です。では、現在選択されているJVMのパスを取得する方法はupdate-alternatives
?
Ubuntuでは、同時に複数のJVMを使用できます。でデフォルトのものが選択されupdate-alternatives
ます。しかし、これはdebian policyのJAVA_HOME
ため、環境変数を設定しません。
Javaアプリケーションを起動するランチャースクリプト(bash)を書いています。このJavaアプリケーションにはJAVA_HOME
環境変数が必要です。では、現在選択されているJVMのパスを取得する方法はupdate-alternatives
?
回答:
JREの場合、次のようなものがトリックを行うはずです。
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
echo $(readlink -f /usr/bin/java | sed "s:bin/java::")
、出力はし/usr/lib/jvm/java-7-oracle/jre/
ない/usr/lib/jvm/java-7-oracle/
それで、あなたはこのコマンドがあなたのために何もしないと言っているのですか?
sudo update-alternatives --config java
ダナダムの答えの拡張として:
まず、3番目のjavaオプションとして2番目のJava JREを優先度「3」でインストールします。
sudo alternatives --install /usr/lib/jvm/jre jre /opt/IBM/java/jre/bin/java 3
次に、それらをリストできます。
update-alternatives --list java
これを使用して、代替を手動で設定できます。
sudo alternatives --config java /opt/IBM/java/jre/bin/java
その後、スクリプトは次のようにオンザフライで設定できます。
sudo alternatives --set java /opt/IBM/java/jre/bin/java
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
これは、「sed」コマンドの実行内容をよりよく示しています。javawやjavacなどのリンクも設定する必要がありますが、それぞれ個別に設定します。
しばらく前に、Ubuntuフォーラムで、Java Webサイトから最新のJRE / JDKをインストールする方法に関するチュートリアルを作成しました。また、JRE / JDKの場所をPATH変数に追加して、システム全体で有効にする方法についても説明します。必要に応じて、トピックの最後に記載されているスクリプトにJAVA_HOMEを追加することもできます。
それをチェックしてください:http : //ubuntuforums.org/showthread.php?t=1437100