路径变量中的文件夹名称重复

路径变量中的文件夹名称重复

我对 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

相关内容