경로 변수의 폴더 이름이 반복됩니다.

경로 변수의 폴더 이름이 반복됩니다.

저는 Linux를 처음 접했고 이 문제에 직면해 있으며 문제를 해결하는 데 도움이 될 수 있는 것이 있는지 궁금합니다. 그래서 Tomcat을 종료하려고 하면 다음과 같은 오류가 발생합니다. 보시다시피 'bin'이 경로에서 반복됩니다. 잘못된 경로를 선택한 것을 볼 수 있지만 $JAVA_HOME 및 $PATH를 확인했을 때 어떤 변수를 수정해야 하는지 잘 모르겠습니다. 괜찮은 것 같습니다.

bash-4.1$ ./shutdown.sh
Using CATALINA_BASE:   /apps/opt/apache-tomcat-7.0.77
Using CATALINA_HOME:   /apps/opt/apache-tomcat-7.0.77
Using CATALINA_TMPDIR: /apps/opt/apache-tomcat-7.0.77/temp
Using JRE_HOME:        /usr/java/jre1.8.0_121/bin
Using CLASSPATH:       /apps/opt/apache-tomcat-7.0.77/bin/bootstrap.jar:/apps/opt/apache-tomcat-7.0.77/bin/tomcat-juli.jar
/apps/opt/apache-tomcat-7.0.77/bin/catalina.sh: line 467: /usr/java/jre1.8.0_121/bin/bin/java: No such file or directory

또한 467과 같은 체크가 있는데 무엇을 만들어야 할지 잘 모르겠습니다. 다음과 같이 보입니다.

   466
    467   eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \
    468     -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
    469     -Dcatalina.base="\"$CATALINA_BASE\"" \

또한 PATH와 JAVA_HOME의 모양은 다음과 같습니다.

bash-4.1$ echo $JAVA_HOME
:/usr/java/jre1.8.0_121/bin/java

bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/vzwhome/mehtta4/bin:/apps/opt/databuck/opt/bin:/apps/opt/databuck/opt/node/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/vzwhome/mehtta4/bin:/usr/java/jre1.8.0_121/bin/java

답변1

JRE_HOME변수에 경로가 포함되어 /usr/java/jre1.8.0_121/bin있고 해당 경로가 실행 파일 의 전체 경로로 catalina.sh사용되는 것처럼 보입니다 .$JRE_HOME/bin/javajava

$JRE_HOME/bin/java/usr/java/jre1.8.0_121/bin/bin/java찾을 수 없는 것으로 확장됩니다 .

가 아닌 로 JRE_HOME설정되어야 할 가능성이 높습니다 ./usr/java/jre1.8.0_121/usr/java/jre1.8.0_121/bin

이 있습니다이를 확인하는 StackOverflow의 댓글로 답변하세요.JRE_HOME, 그리고 가 설정되지 않은 경우 의 값이 JAVA_HOME대신 사용된다고 말합니다 .

관련 정보