| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | #!/bin/sh# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.  See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License.  You may obtain a copy of the License at##     http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# -----------------------------------------------------------------------------# Wrapper script for command line tools## Environment Variable Prerequisites##   CATALINA_HOME   May point at your Catalina "build" directory.##   TOOL_OPTS       (Optional) Java runtime options.##   JAVA_HOME       Must point at your Java Development Kit installation.#                   Using JRE_HOME instead works as well.##   JRE_HOME        Must point at your Java Runtime installation.#                   Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME#                   are both set, JRE_HOME is used.##   JAVA_OPTS       (Optional) Java runtime options.##   JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories#                   containing some jars in order to allow replacement of APIs#                   created outside of the JCP (i.e. DOM and SAX from W3C).#                   It can also be used to update the XML parser implementation.#                   This is only supported for Java <= 8.#                   Defaults to $CATALINA_HOME/endorsed.# -----------------------------------------------------------------------------# OS specific support.  $var _must_ be set to either true or false.cygwin=falsedarwin=falseos400=falsecase "`uname`" inCYGWIN*) cygwin=true;;Darwin*) darwin=true;;OS400*) os400=true;;esac# resolve links - $0 may be a softlinkPRG="$0"while [ -h "$PRG" ]; do  ls=`ls -ld "$PRG"`  link=`expr "$ls" : '.*-> \(.*\)$'`  if expr "$link" : '/.*' > /dev/null; then    PRG="$link"  else    PRG=`dirname "$PRG"`/"$link"  fidone# Get standard environment variablesPRGDIR=`dirname "$PRG"`# Only set CATALINA_HOME if not already set[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`# Ensure that any user defined CLASSPATH variables are not used on startup,# but allow them to be specified in setenv.sh, in rare case when it is needed.CLASSPATH=if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then  . "$CATALINA_HOME/bin/setenv.sh"fi# For Cygwin, ensure paths are in UNIX format before anything is touchedif $cygwin; then  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`fi# For OS400if $os400; then  # Set job priority to standard for interactive (interactive - 6) by using  # the interactive priority - 6, the helper threads that respond to requests  # will be running at the same priority as interactive jobs.  COMMAND='chgjob job('$JOBNAME') runpty(6)'  system $COMMAND  # Enable multi threading  export QIBM_MULTI_THREADED=Yfi# Get standard Java environment variablesif $os400; then  # -r will Only work on the os400 if the files are:  # 1. owned by the user  # 2. owned by the PRIMARY group of the user  # this will not work if the user belongs in secondary groups  . "$CATALINA_HOME"/bin/setclasspath.shelse  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then    . "$CATALINA_HOME"/bin/setclasspath.sh  else    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"    echo "This file is needed to run this program"    exit 1  fifi# Add on extra jar files to CLASSPATHif [ ! -z "$CLASSPATH" ] ; then  CLASSPATH="$CLASSPATH":fiCLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/tomcat-juli.jar:"$CATALINA_HOME"/lib/servlet-api.jar:"$CATALINA_HOME"/lib/tomcat-util.jar# For Cygwin, switch paths to Windows format before running javaif $cygwin; then  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`  JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`  CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`  [ -n "$JAVA_ENDORSED_DIRS" ] && JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`fi# Java 9 no longer supports the java.endorsed.dirs# system property. Only try to use it if# JAVA_ENDORSED_DIRS was explicitly set# or CATALINA_HOME/endorsed exists.ENDORSED_PROP=ignore.endorsed.dirsif [ -n "$JAVA_ENDORSED_DIRS" ]; then    ENDORSED_PROP=java.endorsed.dirsfiif [ -d "$CATALINA_HOME/endorsed" ]; then    ENDORSED_PROP=java.endorsed.dirsfiJAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"# ----- Execute The Requested Command -----------------------------------------eval exec "\"$_RUNJAVA\"" "$JAVA_OPTS" "$TOOL_OPTS" \  -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \  -classpath "\"$CLASSPATH\"" \  -Dcatalina.home="\"$CATALINA_HOME\"" \  org.apache.catalina.startup.Tool "$@"
 |