| 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=false
- darwin=false
- os400=false
- case "`uname`" in
- CYGWIN*) cygwin=true;;
- Darwin*) darwin=true;;
- OS400*) os400=true;;
- esac
- # resolve links - $0 may be a softlink
- PRG="$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"
- fi
- done
- # Get standard environment variables
- PRGDIR=`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 touched
- if $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 OS400
- if $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=Y
- fi
- # Get standard Java environment variables
- if $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.sh
- else
- 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
- fi
- fi
- # Add on extra jar files to CLASSPATH
- if [ ! -z "$CLASSPATH" ] ; then
- CLASSPATH="$CLASSPATH":
- fi
- CLASSPATH="$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 java
- if $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.dirs
- if [ -n "$JAVA_ENDORSED_DIRS" ]; then
- ENDORSED_PROP=java.endorsed.dirs
- fi
- if [ -d "$CATALINA_HOME/endorsed" ]; then
- ENDORSED_PROP=java.endorsed.dirs
- fi
- JAVA_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 "$@"
|