Ubuntuでは、同時に複数のJVMを使用できます。デフォルトはupdate-alternatives
で選択されています。ただし、これは debianポリシー のため、Java_HOME
環境変数を設定しません。
Javaアプリケーションを起動するランチャースクリプト(bash)を書いています。これはJavaアプリケーションにはJava_HOME
環境変数が必要です。そのため、 update-alternatives
?によって現在選択されているJVMのパスを取得します
JREの場合、次のようなものがうまくいくはずです。
Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")
danadamのソリューションは、必要に応じてJDK(つまりJREではない)パスを取得するために簡単に採用できます。
Java_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export Java_HOME=$(dirname $(dirname $(readlink -f /usr/bin/Java)))
.bashrc
は私にとって便利でした。
それで、あなたはこのコマンドがあなたのために何もしないと言っているのですか?
Sudo update-alternatives --config Java
私はJavaをインストールしました
Sudo apt-get install openjdk-7-jre-headless
場所を見つけるために
ls -al /etc/alternatives/Java
ダナダムズの答えの延長として:
まず、2番目のJava JREを3番目のJavaオプションとして、優先度「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などのリンクも設定する必要がありますが、それぞれ個別に設定します。
Javaが_update-alternatives
_で構成されているか、手動でPATH変数に追加されている場合、ハードコードされた_"/usr/bin/Java"
_は必要ありません。bashrcでこのソリューションを使用します。
export Java_HOME=$(readlink -m $(which Java)/../..)
少し前に、Java Webサイトから最新のJRE/JDKをインストールする方法について、Ubuntuフォーラムでチュートリアルを作成しました。また、JREを追加して、システム全体で有効にする方法についても説明します/ JDKの場所をPATH変数に設定します。必要に応じて、トピックの最後に記載されているスクリプトにJava_HOMEを追加することもできます。