Sou bastante novo no Linux e tenho enfrentado esse problema e queria saber se algo pode ajudar a resolvê-lo. Então, quando tento desligar o Tomcat, este é o erro que estou recebendo. Como você pode ver, 'bin' é repetido no caminho. Posso ver que está escolhendo o caminho errado, mas não tenho certeza de qual variável precisa ser modificada, pois verifiquei $ JAVA_HOME e $ PATH, e eles parecem estar bem.
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
Além disso, verifiquei como 467 e é isso que diz e não tenho certeza do que fazer. É assim que parece:
466
467 eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \
468 -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
469 -Dcatalina.base="\"$CATALINA_BASE\"" \
Também aqui está a aparência de PATH e 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
Responder1
Parece que sua JRE_HOME
variável contém o caminho /usr/java/jre1.8.0_121/bin
e catalina.sh
é usada $JRE_HOME/bin/java
como caminho completo para o java
executável.
$JRE_HOME/bin/java
irá se expandir para /usr/java/jre1.8.0_121/bin/bin/java
o qual não pode ser encontrado.
É provável que JRE_HOME
deva ser definido /usr/java/jre1.8.0_121
como em vez de /usr/java/jre1.8.0_121/bin
.
Há umresponda com um comentário no StackOverflow que confirma isso, e isso significa que se JRE_HOME
não estiver definido, o valor de JAVA_HOME
será usado.