patrickl 02/03/31 16:13:23
Modified: catalina/src/bin catalina.bat catalina.sh setclasspath.bat
setclasspath.sh tool-wrapper.bat tool-wrapper.sh
catalina/src/share/org/apache/catalina/startup
Bootstrap.java Tool.java
jasper/src/bin jasper.bat jasper.sh
Log:
Put jar files installed in the JDK's jre/lib/ext directory after the jar files and
classes bundled with Tomcat. This is done by setting the "java.ext.dirs" property to a
zero length string and by put the JDK's jre/lib/ext directory in Tomcat's class
loader. This also fixes the problem that used to happen when you had the JSSE jars
installed as a system extension and you had JSSE_HOME set.
Revision Changes Path
1.28 +9 -9 jakarta-tomcat-4.0/catalina/src/bin/catalina.bat
Index: catalina.bat
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/catalina.bat,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- catalina.bat 19 Mar 2002 18:10:56 -0000 1.27
+++ catalina.bat 1 Apr 2002 00:13:23 -0000 1.28
@@ -28,12 +28,12 @@
rem system class path used to start Tomcat.
rem
rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
-rem command is executed. The default is "dt_shmem".
+rem command is executed. The default is "dt_socket".
rem
rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
-rem command is executed. The default is "jdbconn".
+rem command is executed. The default is "8000".
rem
-rem $Id: catalina.bat,v 1.27 2002/03/19 18:10:56 patrickl Exp $
+rem $Id: catalina.bat,v 1.28 2002/04/01 00:13:23 patrickl Exp $
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
@@ -91,10 +91,10 @@
if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
-set JPDA_TRANSPORT=dt_shmem
+set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
-set JPDA_ADDRESS=jdbconn
+set JPDA_ADDRESS=8000
:gotJpdaAddress
shift
:noJpda
@@ -173,17 +173,17 @@
rem Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -Djava.ext.dirs="%JAVA_EXT_DIRS%"
-classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%"
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS%
%CMD_LINE_ARGS% %ACTION%
goto end
:doSecurity
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%"
-Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -Djava.ext.dirs="%JAVA_EXT_DIRS%"
-classpath "%CLASSPATH%" -Djava.security.manager
-Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%"
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS%
%CMD_LINE_ARGS% %ACTION%
goto end
:doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug
-Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n
%DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug
-Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n
%DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%CLASSPATH%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:doSecurityJpda
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS%
-Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n
%DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%"
-Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS%
-Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n
%DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager
-Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%"
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS%
%CMD_LINE_ARGS% %ACTION%
goto end
:end
1.29 +17 -9 jakarta-tomcat-4.0/catalina/src/bin/catalina.sh
Index: catalina.sh
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/catalina.sh,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- catalina.sh 19 Mar 2002 18:21:14 -0000 1.28
+++ catalina.sh 1 Apr 2002 00:13:23 -0000 1.29
@@ -32,7 +32,7 @@
# (JSSE) installation, whose JAR files will be added to the
# system class path used to start Tomcat.
#
-# $Id: catalina.sh,v 1.28 2002/03/19 18:21:14 patrickl Exp $
+# $Id: catalina.sh,v 1.29 2002/04/01 00:13:23 patrickl Exp $
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
@@ -130,7 +130,8 @@
echo "Using Security Manager"
shift
exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-4.0/catalina/src/share \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
@@ -140,7 +141,8 @@
org.apache.catalina.startup.Bootstrap "$@" start
else
exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-4.0/catalina/src/share \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
@@ -153,7 +155,8 @@
shift
echo "Embedded Classpath: $CLASSPATH"
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
@@ -166,7 +169,8 @@
echo "Using Security Manager"
shift
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
@@ -175,7 +179,8 @@
org.apache.catalina.startup.Bootstrap "$@" start
else
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
@@ -190,7 +195,8 @@
echo "Using Security Manager"
shift
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
@@ -200,7 +206,8 @@
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
else
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
@@ -212,7 +219,8 @@
shift
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
1.6 +5 -2 jakarta-tomcat-4.0/catalina/src/bin/setclasspath.bat
Index: setclasspath.bat
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/setclasspath.bat,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- setclasspath.bat 30 Mar 2002 23:50:43 -0000 1.5
+++ setclasspath.bat 1 Apr 2002 00:13:23 -0000 1.6
@@ -1,7 +1,7 @@
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
-rem $Id: setclasspath.bat,v 1.5 2002/03/30 23:50:43 patrickl Exp $
+rem $Id: setclasspath.bat,v 1.6 2002/04/01 00:13:23 patrickl Exp $
rem ---------------------------------------------------------------------------
rem Make sure prerequisite environment variables are set
@@ -33,7 +33,10 @@
:okBasedir
rem Set the default -Djava.endorsed.dirs argument
-set JAVA_ENDORSED_DIRS=%BASEDIR%\bin;%BASEDIR%\common\endorsed
+set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
+
+rem Set the default -Djava.ext.dirs argument
+set JAVA_EXT_DIRS=
rem Set standard CLASSPATH
rem Note that there are no quotes as we do not want to introduce random
1.6 +5 -2 jakarta-tomcat-4.0/catalina/src/bin/setclasspath.sh
Index: setclasspath.sh
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/setclasspath.sh,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- setclasspath.sh 30 Mar 2002 23:50:43 -0000 1.5
+++ setclasspath.sh 1 Apr 2002 00:13:23 -0000 1.6
@@ -1,7 +1,7 @@
# -----------------------------------------------------------------------------
# Set CLASSPATH and Java options
#
-# $Id: setclasspath.sh,v 1.5 2002/03/30 23:50:43 patrickl Exp $
+# $Id: setclasspath.sh,v 1.6 2002/04/01 00:13:23 patrickl Exp $
# -----------------------------------------------------------------------------
# Make sure prerequisite environment variables are set
@@ -27,7 +27,10 @@
fi
# Set the default -Djava.endorsed.dirs argument
-JAVA_ENDORSED_DIRS="$BASEDIR"/bin:"$BASEDIR"/common/endorsed
+JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed
+
+# Set the default -Djava.ext.dirs argument
+JAVA_EXT_DIRS=
# Set standard CLASSPATH
CLASSPATH="$JAVA_HOME"/lib/tools.jar
1.4 +2 -2 jakarta-tomcat-4.0/catalina/src/bin/tool-wrapper.bat
Index: tool-wrapper.bat
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/tool-wrapper.bat,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- tool-wrapper.bat 15 Jan 2002 02:55:38 -0000 1.3
+++ tool-wrapper.bat 1 Apr 2002 00:13:23 -0000 1.4
@@ -15,7 +15,7 @@
rem JAVA_OPTS (Optional) Java runtime options used when the "start",
rem "stop", or "run" command is executed.
rem
-rem $Id: tool-wrapper.bat,v 1.3 2002/01/15 02:55:38 patrickl Exp $
+rem $Id: tool-wrapper.bat,v 1.4 2002/04/01 00:13:23 patrickl Exp $
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
@@ -54,6 +54,6 @@
goto setArgs
:doneSetArgs
-%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%"
org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
+%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%CLASSPATH%"
-Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
:end
1.5 +3 -3 jakarta-tomcat-4.0/catalina/src/bin/tool-wrapper.sh
Index: tool-wrapper.sh
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/tool-wrapper.sh,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- tool-wrapper.sh 15 Jan 2002 02:55:38 -0000 1.4
+++ tool-wrapper.sh 1 Apr 2002 00:13:23 -0000 1.5
@@ -14,7 +14,7 @@
# JAVA_OPTS (Optional) Java runtime options used when the "start",
# "stop", or "run" command is executed.
#
-# $Id: tool-wrapper.sh,v 1.4 2002/01/15 02:55:38 patrickl Exp $
+# $Id: tool-wrapper.sh,v 1.5 2002/04/01 00:13:23 patrickl Exp $
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
@@ -73,6 +73,6 @@
# ----- Execute The Requested Command -----------------------------------------
exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
- -Dcatalina.home="$CATALINA_HOME" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -Djava.ext.dirs="$JAVA_EXT_DIRS" \
+ -classpath "$CLASSPATH" -Dcatalina.home="$CATALINA_HOME" \
org.apache.catalina.startup.Tool "$@"
1.35 +22 -5
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Bootstrap.java
Index: Bootstrap.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Bootstrap.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- Bootstrap.java 13 Feb 2002 20:01:37 -0000 1.34
+++ Bootstrap.java 1 Apr 2002 00:13:23 -0000 1.35
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Bootstrap.java,v
1.34 2002/02/13 20:01:37 craigmcc Exp $
- * $Revision: 1.34 $
- * $Date: 2002/02/13 20:01:37 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Bootstrap.java,v
1.35 2002/04/01 00:13:23 patrickl Exp $
+ * $Revision: 1.35 $
+ * $Date: 2002/04/01 00:13:23 $
*
* ====================================================================
*
@@ -85,7 +85,7 @@
* class path and therefore not visible to application level classes.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.34 $ $Date: 2002/02/13 20:01:37 $
+ * @version $Revision: 1.35 $ $Date: 2002/04/01 00:13:23 $
*/
public final class Bootstrap {
@@ -121,6 +121,7 @@
System.setProperty("catalina.base", getCatalinaHome());
// Construct the class loaders we will need
+ ClassLoader extLoader = null;
ClassLoader commonLoader = null;
ClassLoader catalinaLoader = null;
ClassLoader sharedLoader = null;
@@ -131,6 +132,14 @@
File packed2[] = new File[2];
ClassLoaderFactory.setDebug(debug);
+ // Put the JDK's installed extensions in the parent class loader.
+ // Presumably, the "java.ext.dirs" property has already been set
+ // to a zero length string.
+ packed[0] = new File(System.getProperty("java.home"),
+ "lib" + File.separator + "ext");
+ extLoader =
+ ClassLoaderFactory.createClassLoader(null, packed, null);
+
unpacked[0] = new File(getCatalinaHome(),
"common" + File.separator + "classes");
packed2[0] = new File(getCatalinaHome(),
@@ -138,7 +147,14 @@
packed2[1] = new File(getCatalinaHome(),
"common" + File.separator + "lib");
commonLoader =
- ClassLoaderFactory.createClassLoader(unpacked, packed2, null);
+ ClassLoaderFactory.createClassLoader(unpacked, packed2,
+ extLoader);
+
+ // Need to have the commonLoader only delegate to the parent
+ // class loader only after searching its own repositories. This
+ // allows the commonLoader's repositories to take priority over
+ // the JDK's installed extensions.
+ ((StandardClassLoader)commonLoader).setDelegate(false);
unpacked[0] = new File(getCatalinaHome(),
"server" + File.separator + "classes");
@@ -155,6 +171,7 @@
sharedLoader =
ClassLoaderFactory.createClassLoader(unpacked, packed,
commonLoader);
+
} catch (Throwable t) {
log("Class loader creation threw exception", t);
1.4 +18 -5
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Tool.java
Index: Tool.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Tool.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Tool.java 18 Dec 2001 02:50:30 -0000 1.3
+++ Tool.java 1 Apr 2002 00:13:23 -0000 1.4
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Tool.java,v
1.3 2001/12/18 02:50:30 patrickl Exp $
- * $Revision: 1.3 $
- * $Date: 2001/12/18 02:50:30 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Tool.java,v
1.4 2002/04/01 00:13:23 patrickl Exp $
+ * $Revision: 1.4 $
+ * $Date: 2002/04/01 00:13:23 $
*
* ====================================================================
*
@@ -116,7 +116,7 @@
* </ul>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.3 $ $Date: 2001/12/18 02:50:30 $
+ * @version $Revision: 1.4 $ $Date: 2002/04/01 00:13:23 $
*/
public final class Tool {
@@ -214,6 +214,14 @@
log("Constructing class loader");
ClassLoaderFactory.setDebug(1);
}
+ // Put the JDK's installed extensions in the parent class loader.
+ // Presumably, the "java.ext.dirs" property has already been set
+ // to a zero length string.
+ File[] extFile = new File[1];
+ extFile[0] = new File(System.getProperty("java.home"),
+ "lib" + File.separator + "ext");
+ ClassLoader extLoader =
+ ClassLoaderFactory.createClassLoader(null, extFile, null);
ArrayList packed = new ArrayList();
ArrayList unpacked = new ArrayList();
unpacked.add(new File(catalinaHome, "classes"));
@@ -240,7 +248,12 @@
ClassLoaderFactory.createClassLoader
((File[]) unpacked.toArray(new File[0]),
(File[]) packed.toArray(new File[0]),
- null);
+ extLoader);
+ // Need to have the classLoader only delegate to the parent
+ // class loader only after searching its own repositories. This
+ // allows the classLoader's repositories to take priority over
+ // the JDK's installed extensions.
+ ((StandardClassLoader)classLoader).setDelegate(false);
} catch (Throwable t) {
log("Class loader creation threw exception", t);
System.exit(1);
1.9 +3 -2 jakarta-tomcat-4.0/jasper/src/bin/jasper.bat
Index: jasper.bat
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/bin/jasper.bat,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jasper.bat 30 Jan 2002 22:13:50 -0000 1.8
+++ jasper.bat 1 Apr 2002 00:13:23 -0000 1.9
@@ -15,7 +15,7 @@
rem JAVA_OPTS (Optional) Java runtime options used when the "start",
rem "stop", or "run" command is executed.
rem
-rem $Id: jasper.bat,v 1.8 2002/01/30 22:13:50 patrickl Exp $
+rem $Id: jasper.bat,v 1.9 2002/04/01 00:13:23 patrickl Exp $
rem ---------------------------------------------------------------------------
rem Guess JASPER_HOME if not defined
@@ -46,6 +46,7 @@
for %%i in ("%JASPER_HOME%\common\lib\*.jar") do call
"%JASPER_HOME%\bin\cpappend.bat" %%i
for %%i in ("%JASPER_HOME%\shared\lib\*.jar") do call
"%JASPER_HOME%\bin\cpappend.bat" %%i
set CLASSPATH=%CLASSPATH%;%JASPER_HOME%\shared\classes
+for %%i in ("%JAVA_HOME%\jre\lib\ext\*.jar") do call
"%JASPER_HOME%\bin\cpappend.bat" %%i
rem Parse arguments
if ""%1"" == ""jspc"" goto doJspc
@@ -65,6 +66,6 @@
goto setArgs
:doneSetArgs
-%_RUNJAVA% %JAVA_OPTS% %JASPER_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-classpath "%CLASSPATH%" -Djasper.home="%JASPER_HOME%" org.apache.jasper.JspC
%CMD_LINE_ARGS%
+%_RUNJAVA% %JAVA_OPTS% %JASPER_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
-Djava.ext.dirs="%JAVA_EXT_DIRS%" -classpath "%CLASSPATH%"
-Djasper.home="%JASPER_HOME%" org.apache.jasper.JspC %CMD_LINE_ARGS%
:end
1.9 +6 -2 jakarta-tomcat-4.0/jasper/src/bin/jasper.sh
Index: jasper.sh
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/bin/jasper.sh,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jasper.sh 30 Jan 2002 22:13:50 -0000 1.8
+++ jasper.sh 1 Apr 2002 00:13:23 -0000 1.9
@@ -14,7 +14,7 @@
# JAVA_OPTS (Optional) Java runtime options used when the "start",
# "stop", or "run" command is executed.
#
-# $Id: jasper.sh,v 1.8 2002/01/30 22:13:50 patrickl Exp $
+# $Id: jasper.sh,v 1.9 2002/04/01 00:13:23 patrickl Exp $
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
@@ -68,6 +68,9 @@
CLASSPATH="$CLASSPATH":"$i"
done
CLASSPATH="$CLASSPATH":"$JASPER_HOME"/shared/classes
+for i in "$JAVA_HOME"/jre/lib/ext/*.jar; do
+ CLASSPATH="$CLASSPATH":"$i"
+done
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
@@ -82,7 +85,8 @@
shift
exec "$_RUNJAVA" $JAVA_OPTS $JASPER_OPTS \
- -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.ext.dirs="$JAVA_EXT_DIRS" -classpath "$CLASSPATH" \
-Djasper.home="$JASPER_HOME" \
org.apache.jasper.JspC "$@"
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>