java -versionおよび$ JAVA_HOME表示エラーメッセージ

java -versionおよび$ JAVA_HOME表示エラーメッセージ

RHEL 7サーバーがあります。インストールされたJavaバージョンはjdk1.8.0_151

# ls -l /usr/java
total 0
drwxr-xr-x. 8 root root 255 Apr 24 14:10 jdk1.8.0_151

JAVA_HOME場所を設定し、変数binにディレクトリを追加します。PATH/etc/profile

# grep JAVA_HOME /etc/profile
export JAVA_HOME="/usr/java/jdk1.8.0_151/"
export PATH=$JAVA_HOME/bin:$PATH

エラーメッセージjava -versionが表示され続け、echo $JAVA_HOME出力は表示されません。

# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
# 
# echo $JAVA_HOME

#

この問題をどのように解決できますか?

修正する

次のコマンドを実行すると、java -versionユーザーecho $JAVA_HOMEには有効igwuserですが、rootとしてログインすると有効ではありません。

export PATH=/usr/java/jdk1.8.0_151/bin:$PATH
export JAVA_HOME="/usr/java/jdk1.8.0_151/"

ログインするとroot

[igwuser@dep4 ~]$ sudo su
[root@dep4 igwuser]# java -version
bash: java: command not found...
[root@dep4 igwuser]# echo $JAVA_HOME

[root@dep4 igwuser]#

rootでログインするとなぜ動作しませんか?

アップデート2

PATHログインしてログアウトすると、変数がリセットされます。これが問題になります。

[root@dep4 igwuser]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
[root@dep4 igwuser]# 
[root@dep4 igwuser]# 
[root@dep4 igwuser]# export PATH=/usr/java/jdk1.8.0_151/bin:$PATH
[root@dep4 igwuser]# echo $PATH
/usr/java/jdk1.8.0_151/bin:/sbin:/bin:/usr/sbin:/usr/bin
[root@dep4 igwuser]# 
[root@dep4 igwuser]# exit
exit
[igwuser@dep4 ~]$ sudo su
[root@dep4 igwuser]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
[root@dep4 igwuser]#

ベストアンサー1

私は間違ったファイル(/etc/profile)を修正しています。/etc/bashrc問題を解決するには、次の行を追加してください。

export JAVA_HOME="/usr/java/jdk1.8.0_172-amd64/"
export PATH=$JAVA_HOME/bin:$PATH

ありがとう

アップデート:下記@jsbillingsのコメントをご覧ください。/etc/profile.d/最も推奨される方法は、カスタムスクリプトを作成して上記の行を追加することです。

おすすめ記事