java -version 및 $JAVA_HOME 표시 오류 메시지

java -version 및 $JAVA_HOME 표시 오류 메시지

RHEL 7 서버가 있습니다. 설치된 자바 버전은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하지만 루트로 로그인하면 유효하지 않습니다.

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]#

루트로 로그인하면 왜 작동하지 않나요?

업데이트 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/가장 권장되는 방법은 사용자 정의 스크립트를 만들고 위의 줄을 추가하는 것입니다.

답변2

  1. 각 사용자는 자신만의 변경 가능한 환경을 가지고 있습니다. 따라서 사용자(루트)마다 PATH합계 변수 값이 다른(루트가 아닌) 사용자마다 다른 것이 정상입니다 .JAVA_HOME

  2. 환경 변수를 저장하는 지속성 방법:

    • 파일을 편집하여 환경 변수를 추가합니다 ~/.bashrc.vim ~/.bashrc

    • 다음을 사용하여 변경한 내용을 로드합니다 ~/.bashrc.source ~/.bashrc

관련 정보