Openjdk-8-jdkをインストールしました。すでにopenjdk-7-jdkがインストールされています。 echo $Java_HOME
を実行すると、/usr/lib/jvm/Java-7-openjdk-AMD64
と出力されました。
そこで、$ Java_HOME変数を変更しようとしましたが、ターミナルを再度開くたびに上記のパスにリセットされます。 /etc/enviroment
/etc/profile
/etc/bash.bashrc
~/.bashrc
で設定しようとしましたが、利用できません。
どうすれば変更できますか?また、$ Java_HOMEは現在どこに設定されていますか?
私はそれを考え出した。それは私によるとんでもない間違いでした。
Java_HOME
を非常に多くのファイルに設定したので、すべての混乱の中で、/usr/lib/jvm/Java-7-openjdk-AMD64
で~/.bashrc
に設定しました。ターミナルを開くたびに~/.bashrc
が実行されるため、他のすべてのファイルの内容に関係なく、ターミナルを開くたびにこれに変更されました。
アカウントにログインし、.bash_profile
ファイルを開きます
$ vi ~/.bash_profile
Java_HOME
構文を使用して、次のようにexport Java_HOME=<path-to-Java-bin-directory>/Java
を設定します
ログアウトせずに変更を有効にする場合は、以下のコマンドを入力します。
$ source ~/.bash_profile
/ etc/environmentで変更を行うと、変更は現在のセッションのみに適用されます。/etc/profileはパスを永続的に更新するのに適した場所です。/etcの下のプロファイルを変更する必要があります。
以下の手順に従ってください。これで問題が解決するはずです
Sudo vim /etc/profile
以下の2行を追加します。
export Java_HOME="Your path to jdk folder"
export PATH=$Java_HOME/bin:$PATH
コマンドをすぐに実行して変更を適用するには:
source /etc/profile
次のシステム再起動の変更では、変更が自動的に選択されます。
役立つ場合は、自分で設定しないでください。使用するJavaバージョンを変更するには、この guide を参照してください。
スニペット:
システムに複数のバージョンのJavaがある場合は、ターミナルウィンドウで次のコマンドを入力して、システムで使用するバージョンを設定します
Sudo update-alternatives --config Java
これにより、次のような選択項目が表示されます(詳細は異なる場合があります)。
There are 2 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 auto mode
1 /usr/lib/jvm/jre1.7.0/jre/bin/Java 3 manual mode
Press enter to keep the current choice[*], or type selection number: 1