パス変数にフォルダ名が重複しています。

パス変数にフォルダ名が重複しています。

私は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

おすすめ記事