25
|
1 #!/bin/sh
|
|
2 # -----------------------------------------------------------------------------
|
|
3 # catalina.sh - Start/Stop Script for the CATALINA Server
|
|
4 #
|
|
5 # Environment Variable Prequisites
|
|
6 #
|
|
7 # CATALINA_BASE (Optional) Base directory for resolving dynamic portions
|
|
8 # of a Catalina installation. If not present, resolves to
|
|
9 # the same directory that CATALINA_HOME points to.
|
|
10 #
|
|
11 # CATALINA_HOME (Optional) May point at your Catalina "build" directory.
|
|
12 # If not present, the current working directory is assumed.
|
|
13 #
|
|
14 # CATALINA_OPTS (Optional) Java runtime options used when the "start",
|
|
15 # "stop", or "run" command is executed.
|
|
16 #
|
|
17 # JAVA_HOME Must point at your Java Development Kit installation.
|
|
18 #
|
|
19 # JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
|
|
20 # command is executed. Defaults to
|
|
21 # "-classic -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
|
|
22 #
|
|
23 # JSSE_HOME (Optional) May point at your Java Secure Sockets Extension
|
|
24 # (JSSE) installation, whose JAR files will be added to the
|
|
25 # system class path used to start Tomcat.
|
|
26 #
|
|
27 # $Id$
|
|
28 # -----------------------------------------------------------------------------
|
|
29
|
|
30 export JAVA_HOME=/usr/local/lib/IBMJava2-13
|
|
31 export CATALINA_OPTS="-mx512m"
|
|
32
|
|
33
|
|
34 # ----- Verify and Set Required Environment Variables -------------------------
|
|
35
|
|
36 if [ -z "$CATALINA_HOME" ] ; then
|
|
37 ## resolve links - $0 may be a link to home
|
|
38 PRG=$0
|
|
39 progname=`basename $0`
|
|
40
|
|
41 while [ -h "$PRG" ] ; do
|
|
42 ls=`ls -ld "$PRG"`
|
|
43 link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
44 if expr "$link" : '.*/.*' > /dev/null; then
|
|
45 PRG="$link"
|
|
46 else
|
|
47 PRG="`dirname $PRG`/$link"
|
|
48 fi
|
|
49 done
|
|
50
|
|
51 CATALINA_HOME_1=`dirname "$PRG"`/..
|
|
52 echo "Guessing CATALINA_HOME from catalina.sh to ${CATALINA_HOME_1}"
|
|
53 if [ -d ${CATALINA_HOME_1}/conf ] ; then
|
|
54 CATALINA_HOME=${CATALINA_HOME_1}
|
|
55 echo "Setting CATALINA_HOME to $CATALINA_HOME"
|
|
56 fi
|
|
57 fi
|
|
58
|
|
59 if [ -z "$CATALINA_OPTS" ] ; then
|
|
60 CATALINA_OPTS=""
|
|
61 fi
|
|
62
|
|
63 if [ -z "$JPDA_OPTS" ] ; then
|
|
64 JPDA_OPTS="-classic -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
|
|
65 fi
|
|
66
|
|
67 if [ -z "$JAVA_HOME" ] ; then
|
|
68 echo You must set JAVA_HOME to point at your Java Development Kit installation
|
|
69 exit 1
|
|
70 fi
|
|
71
|
|
72
|
|
73 # ----- Cygwin Unix Paths Setup -----------------------------------------------
|
|
74
|
|
75 # Cygwin support. $cygwin _must_ be set to either true or false.
|
|
76 case "`uname`" in
|
|
77 CYGWIN*) cygwin=true ;;
|
|
78 *) cygwin=false ;;
|
|
79 esac
|
|
80
|
|
81 # For Cygwin, ensure paths are in UNIX format before anything is touched
|
|
82 if $cygwin ; then
|
|
83 [ -n "$CATALINA_HOME" ] &&
|
|
84 CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
|
|
85 [ -n "$JAVA_HOME" ] &&
|
|
86 JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
|
87 fi
|
|
88
|
|
89
|
|
90 # ----- Set Up The System Classpath -------------------------------------------
|
|
91
|
|
92 CP="$CATALINA_HOME/bin/bootstrap.jar"
|
|
93
|
|
94 if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
|
|
95 CP=$CP:"$JAVA_HOME/lib/tools.jar"
|
|
96 fi
|
|
97 if [ -f "$JSSE_HOME/lib/jsse.jar" ] ; then
|
|
98 CP=$CP:"$JSSE_HOME/lib/jcert.jar":"$JSSE_HOME/lib/jnet.jar":"$JSSE_HOME/lib/jsse.jar"
|
|
99 fi
|
|
100
|
|
101
|
|
102 # ----- Cygwin Windows Paths Setup --------------------------------------------
|
|
103
|
|
104 # convert the existing path to windows
|
|
105 if $cygwin ; then
|
|
106 CP=`cygpath --path --windows "$CP"`
|
|
107 CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"`
|
|
108 JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
|
109 fi
|
|
110
|
|
111
|
|
112 # ----- Set Up CATALINA_BASE If Necessary -------------------------------------
|
|
113
|
|
114 if [ -z "$CATALINA_BASE" ] ; then
|
|
115 CATALINA_BASE=$CATALINA_HOME
|
|
116 fi
|
|
117
|
|
118
|
|
119 # ----- Execute The Requested Command -----------------------------------------
|
|
120
|
|
121 echo "Using CLASSPATH: $CP"
|
|
122 echo "Using CATALINA_BASE: $CATALINA_BASE"
|
|
123 echo "Using CATALINA_HOME: $CATALINA_HOME"
|
|
124 echo "Using JAVA_HOME: $JAVA_HOME"
|
|
125
|
|
126 if [ "$1" = "jpda" ] ; then
|
|
127 CATALINA_OPTS="${CATALINA_OPTS} ${JPDA_OPTS}"
|
|
128 shift
|
|
129 fi
|
|
130
|
|
131 if [ "$1" = "debug" ] ; then
|
|
132
|
|
133 shift
|
|
134 if [ "$1" = "-security" ] ; then
|
|
135 shift
|
|
136 $JAVA_HOME/bin/jdb \
|
|
137 $CATALINA_OPTS \
|
|
138 -sourcepath $CATALINA_HOME/../../jakarta-tomcat-4.0/catalina/src/share \
|
|
139 -classpath $CP \
|
|
140 -Dcatalina.base=$CATALINA_BASE \
|
|
141 -Dcatalina.home=$CATALINA_HOME \
|
|
142 org.apache.catalina.startup.Bootstrap "$@" start
|
|
143 else
|
|
144 $JAVA_HOME/bin/jdb \
|
|
145 $CATALINA_OPTS \
|
|
146 -sourcepath $CATALINA_HOME/../../jakarta-tomcat-4.0/catalina/src/share \
|
|
147 -classpath $CP \
|
|
148 -Dcatalina.base=$CATALINA_BASE \
|
|
149 -Dcatalina.home=$CATALINA_HOME \
|
|
150 org.apache.catalina.startup.Bootstrap "$@" start
|
|
151 fi
|
|
152
|
|
153 elif [ "$1" = "embedded" ] ; then
|
|
154
|
|
155 shift
|
|
156 for i in ${CATALINA_HOME}/server/lib/*.jar ; do
|
|
157 CP=$i:${CP}
|
|
158 done
|
|
159 for i in ${CATALINA_HOME}/common/lib/*.jar ; do
|
|
160 CP=$i:${CP}
|
|
161 done
|
|
162 echo Embedded Classpath: $CP
|
|
163 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
164 -Dcatalina.base=$CATALINA_BASE \
|
|
165 -Dcatalina.home=$CATALINA_HOME \
|
|
166 org.apache.catalina.startup.Embedded "$@"
|
|
167
|
|
168 elif [ "$1" = "env" ] ; then
|
|
169
|
|
170 export BP CATALINA_HOME CP
|
|
171 exit 0
|
|
172
|
|
173 elif [ "$1" = "run" ] ; then
|
|
174
|
|
175 shift
|
|
176 if [ "$1" = "-security" ] ; then
|
|
177 echo Using Security Manager
|
|
178 shift
|
|
179 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
180 -Djava.security.manager \
|
|
181 -Djava.security.policy==$CATALINA_BASE/conf/catalina.policy \
|
|
182 -Dcatalina.base=$CATALINA_BASE \
|
|
183 -Dcatalina.home=$CATALINA_HOME \
|
|
184 org.apache.catalina.startup.Bootstrap "$@" start
|
|
185 else
|
|
186 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
187 -Dcatalina.base=$CATALINA_BASE \
|
|
188 -Dcatalina.home=$CATALINA_HOME \
|
|
189 org.apache.catalina.startup.Bootstrap "$@" start
|
|
190 fi
|
|
191
|
|
192 elif [ "$1" = "start" ] ; then
|
|
193
|
|
194 shift
|
|
195 touch $CATALINA_BASE/logs/catalina.out
|
|
196 if [ "$1" = "-security" ] ; then
|
|
197 echo Using Security Manager
|
|
198 shift
|
|
199 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
200 -Djava.security.manager \
|
|
201 -Djava.security.policy==$CATALINA_BASE/conf/catalina.policy \
|
|
202 -Dcatalina.base=$CATALINA_BASE \
|
|
203 -Dcatalina.home=$CATALINA_HOME \
|
|
204 org.apache.catalina.startup.Bootstrap "$@" start \
|
|
205 >> $CATALINA_BASE/logs/catalina.out 2>&1 &
|
|
206 else
|
|
207 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
208 -Dcatalina.base=$CATALINA_BASE \
|
|
209 -Dcatalina.home=$CATALINA_HOME \
|
|
210 org.apache.catalina.startup.Bootstrap "$@" start \
|
|
211 >> $CATALINA_BASE/logs/catalina.out 2>&1 &
|
|
212 fi
|
|
213
|
|
214 elif [ "$1" = "stop" ] ; then
|
|
215
|
|
216 shift
|
|
217 $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
|
|
218 -Dcatalina.base=$CATALINA_BASE \
|
|
219 -Dcatalina.home=$CATALINA_HOME \
|
|
220 org.apache.catalina.startup.Bootstrap "$@" stop
|
|
221
|
|
222 else
|
|
223
|
|
224 echo "Usage: catalina.sh ( env | run | start | stop)"
|
|
225 echo "Commands:"
|
|
226 echo " debug Start Catalina in a debugger"
|
|
227 echo " debug -security Debug Catalina with a security manager"
|
|
228 echo " env Set up environment variables that would be used"
|
|
229 echo " jpda start Start Catalina under JPDA debugger"
|
|
230 echo " run Start Catalina in the current window"
|
|
231 echo " run -security Start in the current window with security manager"
|
|
232 echo " start Start Catalina in a separate window"
|
|
233 echo " start -security Start in a separate window with security manager"
|
|
234 echo " stop Stop Catalina"
|
|
235 exit 1
|
|
236
|
|
237 fi
|