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]>