I would be -1 on this - the JDK documentation clearly defines the
intended behavior of the ext directory, and this would create confusion
and unpredictible behavior. I expect a file in ext/ to be included
_before_ tomcat classes - the way java documents it.
( I don't use ext/, but classloader changes do _allways_ create problems )
Costin
On 1 Apr 2002 [EMAIL PROTECTED] wrote:
> 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]>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>