Ordnername in Pfadvariable wird wiederholt

Ordnername in Pfadvariable wird wiederholt

Ich bin ziemlich neu bei Linux und hatte dieses Problem und fragte mich, ob es etwas lösen könnte. Wenn ich also versuche, Tomcat herunterzufahren, erhalte ich diesen Fehler. Wie Sie sehen, wird „bin“ im Pfad wiederholt. Ich sehe, dass der falsche Pfad ausgewählt wird, bin mir aber nicht sicher, welche Variable geändert werden muss, da ich $JAVA_HOME und $PATH überprüft habe und diese in Ordnung zu sein scheinen.

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

Außerdem lautet das Häkchen 467 und das steht da, aber ich bin mir nicht sicher, was ich machen soll. So sieht es aus:

   466
    467   eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \
    468     -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
    469     -Dcatalina.base="\"$CATALINA_BASE\"" \

So sehen PATH und JAVA_HOME aus.

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

Antwort1

Es sieht so aus, als ob Ihre JRE_HOMEVariable den Pfad enthält /usr/java/jre1.8.0_121/binund dieser als vollständiger Pfad zur ausführbaren Datei catalina.shverwendet wird .$JRE_HOME/bin/javajava

$JRE_HOME/bin/javawird erweitert, bis /usr/java/jre1.8.0_121/bin/bin/javadas nicht gefunden werden kann.

Wahrscheinlich sollte „ auf “ und nicht „auf“ JRE_HOMEgesetzt werden ./usr/java/jre1.8.0_121/usr/java/jre1.8.0_121/bin

Da ist einantworten Sie mit einem Kommentar bei StackOverflow, der dies bestätigt, und besagt weiter, dass, wenn JRE_HOMEnicht festgelegt ist, stattdessen der Wert von JAVA_HOMEverwendet wird.

verwandte Informationen