web-dev-qa-db-ja.com

端末ログインごとに$ Java_HOMEがリセットされます

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は現在どこに設定されていますか?

5
suheb

私はそれを考え出した。それは私によるとんでもない間違いでした。

Java_HOMEを非常に多くのファイルに設定したので、すべての混乱の中で、/usr/lib/jvm/Java-7-openjdk-AMD64~/.bashrcに設定しました。ターミナルを開くたびに~/.bashrcが実行されるため、他のすべてのファイルの内容に関係なく、ターミナルを開くたびにこれに変更されました。

2
suheb

アカウントにログインし、.bash_profileファイルを開きます

$ vi ~/.bash_profile

Java_HOME構文を使用して、次のようにexport Java_HOME=<path-to-Java-bin-directory>/Javaを設定します
ログアウトせずに変更を有効にする場合は、以下のコマンドを入力します。

$ source ~/.bash_profile
4
Ghasem Pahlavan

/ 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

次のシステム再起動の変更では、変更が自動的に選択されます。

2
Rajesh Mbm

役立つ場合は、自分で設定しないでください。使用する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
2
Anders Olsson