fix broken classpath when whitespaces are in the path #9832

reverse classpath jars order and remove trailing colon
This commit is contained in:
Colin Surprenant 2018-07-10 14:09:58 -04:00
parent f8a81f870a
commit 1124d799a8
4 changed files with 13 additions and 29 deletions

View file

@ -58,14 +58,9 @@ if [ "$1" = "-V" ] || [ "$1" = "--version" ]; then
fi fi
echo "logstash $LOGSTASH_VERSION" echo "logstash $LOGSTASH_VERSION"
else else
function classpath() { unset CLASSPATH
echo -n "$1" for J in $(cd "${LOGSTASH_JARS}"; ls *.jar); do
shift CLASSPATH=${CLASSPATH}${CLASSPATH:+:}${LOGSTASH_JARS}/${J}
while [ $# -gt 0 ] ; do
echo -n ":${1}"
shift
done done
}
CLASSPATH="$(classpath ${LOGSTASH_HOME}/logstash-core/lib/jars/*.jar)"
exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.Logstash "$@" exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.Logstash "$@"
fi fi

View file

@ -46,6 +46,7 @@ export LOGSTASH_HOME
export LS_HOME="${LOGSTASH_HOME}" export LS_HOME="${LOGSTASH_HOME}"
SINCEDB_DIR="${LOGSTASH_HOME}" SINCEDB_DIR="${LOGSTASH_HOME}"
export SINCEDB_DIR export SINCEDB_DIR
LOGSTASH_JARS=${LOGSTASH_HOME}/logstash-core/lib/jars
# iterate over the command line args and look for the argument # iterate over the command line args and look for the argument
# after --path.settings to see if the jvm.options file is in # after --path.settings to see if the jvm.options file is in

View file

@ -28,14 +28,8 @@ fi
. "$(cd `dirname ${SOURCEPATH}`/..; pwd)/bin/logstash.lib.sh" . "$(cd `dirname ${SOURCEPATH}`/..; pwd)/bin/logstash.lib.sh"
setup setup
unset CLASSPATH
function classpath() { for J in $(cd "${LOGSTASH_JARS}"; ls *.jar); do
echo -n "$1" CLASSPATH=${LOGSTASH_JARS}/${J}:${CLASSPATH}
shift done
while [ $# -gt 0 ] ; do
echo -n ":${1}"
shift
done
}
CLASSPATH="$(classpath ${LOGSTASH_HOME}/logstash-core/lib/jars/*.jar)"
exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.ackedqueue.PqCheck "$@" exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.ackedqueue.PqCheck "$@"

View file

@ -28,14 +28,8 @@ fi
. "$(cd `dirname ${SOURCEPATH}`/..; pwd)/bin/logstash.lib.sh" . "$(cd `dirname ${SOURCEPATH}`/..; pwd)/bin/logstash.lib.sh"
setup setup
unset CLASSPATH
function classpath() { for J in $(cd "${LOGSTASH_JARS}"; ls *.jar); do
echo -n "$1" CLASSPATH=${LOGSTASH_JARS}/${J}:${CLASSPATH}
shift done
while [ $# -gt 0 ] ; do
echo -n ":${1}"
shift
done
}
CLASSPATH="$(classpath ${LOGSTASH_HOME}/logstash-core/lib/jars/*.jar)"
exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.ackedqueue.PqRepair "$@" exec "${JAVACMD}" ${JAVA_OPTS} -cp "${CLASSPATH}" org.logstash.ackedqueue.PqRepair "$@"