我對 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
而不是 to /usr/java/jre1.8.0_121/bin
。
有一個在 StackOverflow 上用評論回答,證實了這一點,接著說如果未設置,則將使用JRE_HOME
的值。JAVA_HOME