저는 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/java
java
$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
대신 사용된다고 말합니다 .