2016-08-06 18 views
2

My osはUbuntu 16.04 LTSです。JDKバージョンに一貫性がありません

$ cat /etc/profile # part content of this file 
JAVA_HOME=/usr/local/java/jdk1.8.0_101 
JRE_HOME=$JAVA_HOME/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
export JAVA_HOME 
export JRE_HOME 
export PATH 

$ echo $JAVA_HOME 
/usr/local/java/jdk1.8.0_101 

$ java -version 
java version "1.7.0_79" 
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) 

$ ls /usr/local/java/ 
jdk1.7.0_79/ jdk1.8.0_101/ 

なぜ私のJavaバージョンはまだjdk7ですか?

+0

'echo $ PATH'を試してみてください。 – EJP

答えて

4

Ubuntuには複数のJavaバージョンを扱えるようになっています。あなたのケースでは、JDK 7とJDK 8の両方がシステムにインストールされているが、JDK 7を使用していることを意味します。

Javaバージョンを別のバージョンに切り替えるには、sudo update-alternatives --config javaを使用できます。これにより、システムにインストールされているすべてのJDKがリストされ、JDK 8に対応する番号を入力するだけで、JDK 8に切り替える必要があります。

+0

私はOPがカスタマイズされたJavaインストールを使用していると思います。彼のJAVA_HOMEは/ usr/localにあることに注意してください – xuhdev

1

コマンドシェルにwhich javaを実行します。それはあなたが実行しているjavaコマンドの出所を教えてくれます。

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 

が検索パスではなく、始まりの終わりにあなたの新しいビンディレクトリを置く:

は、私はあなた「は/ usr/binに/ javaの」...このため教えてくれるである疑いがあります。

しかし、これを行うより良い方法は、別の回答で示唆されているようにalternativesを使用することです。 ( "/ usr/local"のカスタムインストールでは、これを理解するために "代替"を得るために何度か手間が必要です。)

関連する問題