You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pa...@apache.org on 2002/04/01 02:13:23 UTC
cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by co...@covalent.net.
On Mon, 1 Apr 2002, Patrick Luby wrote:
> Remy and Costin,
>
> I will reverse the patch since there are enough -1s on this. One
> question: should we continue to set the "-Djava.ext.dirs=" in the
> wrapper scripts? This disables the extensions but without any code
> change to Tomcat. Or do we want to revert back to the original
> scripts where the extensions are enabled by default?
I don't think we should disable ext/ - we can recommend people to
not use it ( unless they know what they're doing ).
If someone chooses to use ext/, he expect it to work - because that's
what the java doc says.
I'm -0, since we do disable CLASSPATH in the script.
In general I think it's better to minimize the number of special settings
in the command line. The .sh/.bat is just one way to start tomcat,
there are implications when you embed it, start it with wrapper or
from other apps, etc.
If you really want to have fun with the startup, it would be better to
remove more 'special' behaviors from .sh/.bat and clearly documenting
what remains - i.e. the java options and classpath that are required
to start tomcat.
Costin
>
> Patrick
>
> Remy Maucherat wrote:
>
> >>>Fine, but your change creates problems (Jasper does not work on JDK 1.4
> >>>unless you delete common/endorsed/xerces.jar). I don't know why at this
> >>>time, but it should be fixed ASAP.
> >>>
> >>>(Note: I don't care too much about this functionality ... Adding another
> >>>
> > CL
> >
> >>>layer is dangerous and makes CL slower; unless other people think this
> >>>
> > is
> >
> >>>useful I don't think we should add the feature)
> >>>
> >>>Remy
> >>>
> >>>
> >>>
> >>I think I found the problem. In JDK 1.4, the StandardClassLoader's
> >>
> >>loadClass() method appears to be unconditionally delegating to its
> >>
> >>parent classloader even when setDelegate is set to false. This
> >>appears to be caused by changes to the URLClassLoader class in JDK
> >>1.4.
> >>
> >
> > I had missed that it was attempting to change the delegation model
> > (apparently, Costin didn't, that's why he was complaining, I suppose ;-)).
> > I'm -1 for the patch then; please revert it. The use case is clearly not
> > worth introducing non-compliant behavior; I fully agree with Costin here: if
> > the ext mechanism is broken, then it's up to the JDK to fix it.
> >
> > Remy
> >
> >
> > --
> > To unsubscribe, e-mail: <ma...@jakarta.apache.org>
> > For additional commands, e-mail: <ma...@jakarta.apache.org>
> >
>
>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by Patrick Luby <pa...@sun.com>.
Remy and Costin,
I will reverse the patch since there are enough -1s on this. One
question: should we continue to set the "-Djava.ext.dirs=" in the
wrapper scripts? This disables the extensions but without any code
change to Tomcat. Or do we want to revert back to the original
scripts where the extensions are enabled by default?
Patrick
Remy Maucherat wrote:
>>>Fine, but your change creates problems (Jasper does not work on JDK 1.4
>>>unless you delete common/endorsed/xerces.jar). I don't know why at this
>>>time, but it should be fixed ASAP.
>>>
>>>(Note: I don't care too much about this functionality ... Adding another
>>>
> CL
>
>>>layer is dangerous and makes CL slower; unless other people think this
>>>
> is
>
>>>useful I don't think we should add the feature)
>>>
>>>Remy
>>>
>>>
>>>
>>I think I found the problem. In JDK 1.4, the StandardClassLoader's
>>
>>loadClass() method appears to be unconditionally delegating to its
>>
>>parent classloader even when setDelegate is set to false. This
>>appears to be caused by changes to the URLClassLoader class in JDK
>>1.4.
>>
>
> I had missed that it was attempting to change the delegation model
> (apparently, Costin didn't, that's why he was complaining, I suppose ;-)).
> I'm -1 for the patch then; please revert it. The use case is clearly not
> worth introducing non-compliant behavior; I fully agree with Costin here: if
> the ext mechanism is broken, then it's up to the JDK to fix it.
>
> Remy
>
>
> --
> To unsubscribe, e-mail: <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
--
________________________________________________________________
Patrick Luby Email: patrick.luby@sun.com
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900
________________________________________________________________
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by Remy Maucherat <re...@apache.org>.
> > Fine, but your change creates problems (Jasper does not work on JDK 1.4
> > unless you delete common/endorsed/xerces.jar). I don't know why at this
> > time, but it should be fixed ASAP.
> >
> > (Note: I don't care too much about this functionality ... Adding another
CL
> > layer is dangerous and makes CL slower; unless other people think this
is
> > useful I don't think we should add the feature)
> >
> > Remy
> >
> >
> I think I found the problem. In JDK 1.4, the StandardClassLoader's
>
> loadClass() method appears to be unconditionally delegating to its
>
> parent classloader even when setDelegate is set to false. This
> appears to be caused by changes to the URLClassLoader class in JDK
> 1.4.
I had missed that it was attempting to change the delegation model
(apparently, Costin didn't, that's why he was complaining, I suppose ;-)).
I'm -1 for the patch then; please revert it. The use case is clearly not
worth introducing non-compliant behavior; I fully agree with Costin here: if
the ext mechanism is broken, then it's up to the JDK to fix it.
Remy
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by co...@covalent.net.
On Mon, 1 Apr 2002, Patrick Luby wrote:
> BTW, I can eliminate the use of a separate classloader and put the
> jre/lib/ext directory in the existing catalinaLoader and sharedLoader
> instances. However, to do this, I need to change the getClassPath()
> method in JspEngineContext.java so that it returns a classpath that
> is consistent with the classloaders' search order. Right now, the
> getClassPath() method (which is used for all JSP compilation) returns
> a classpath in the exact opposite order of the order used by the
> sharedLoader classloader.
>
> I originally put the extra classloader in to work around this
> getClassPath() bug. However, given the JDK 1.4 differences in the
> classloader delegation behavior, I think it would be better for me
> to fix the getClassPath() problem and move the jre/lib/ext directory
> into the existing catalinaLoader and sharedLoader instances like we
> do for the endorsed directories.
>
> Costin,
>
> Does this sound reasonable to you?
No.
You can edit the doc - and use big font to tell users not to use ext/,
or add a small check at startup and verify the servlet version.
Changing the behavior of ext/ and class loader is the wrong solution,
and shouldn't be done.
Are you sure it doesn't have security implications ? JDK/ext can
be protected and may have site-specific sensitive libraries.
Costin
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by Patrick Luby <pa...@sun.com>.
Remy,
Remy Maucherat wrote:
>
> Fine, but your change creates problems (Jasper does not work on JDK 1.4
> unless you delete common/endorsed/xerces.jar). I don't know why at this
> time, but it should be fixed ASAP.
>
> (Note: I don't care too much about this functionality ... Adding another CL
> layer is dangerous and makes CL slower; unless other people think this is
> useful I don't think we should add the feature)
>
> Remy
>
>
I think I found the problem. In JDK 1.4, the StandardClassLoader's
loadClass() method appears to be unconditionally delegating to its
parent classloader even when setDelegate is set to false. This
appears to be caused by changes to the URLClassLoader class in JDK
1.4.
BTW, I can eliminate the use of a separate classloader and put the
jre/lib/ext directory in the existing catalinaLoader and sharedLoader
instances. However, to do this, I need to change the getClassPath()
method in JspEngineContext.java so that it returns a classpath that
is consistent with the classloaders' search order. Right now, the
getClassPath() method (which is used for all JSP compilation) returns
a classpath in the exact opposite order of the order used by the
sharedLoader classloader.
I originally put the extra classloader in to work around this
getClassPath() bug. However, given the JDK 1.4 differences in the
classloader delegation behavior, I think it would be better for me
to fix the getClassPath() problem and move the jre/lib/ext directory
into the existing catalinaLoader and sharedLoader instances like we
do for the endorsed directories.
Costin,
Does this sound reasonable to you?
Thanks,
Patrick
--
________________________________________________________________
Patrick Luby Email: patrick.luby@sun.com
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900
________________________________________________________________
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by Remy Maucherat <re...@apache.org>.
> Costin,
>
> The problem with the default JVM behavior can cause your application to
> crash or behave in unexpected ways if there are incompatible jars
> installed in the jre/lib/ext directory.
>
> The method that we are using is still compliant with the JDK
> documentation in that we are using the documented way over overriding
> the extensions via setting the "java.ext.dirs" property at startup. This
> also the same type of override mechanism for the endorsed directories in
> JDK 1.4.
>
> The only feature we are adding is the ability to add your extensions
> back at the end of the classloader's search list.
>
> I am definitely not in favor of just letting the jre/lib/ext directory
> sit at the front of the classloader's search list as that makes Tomcat
> very sensitive (read breakable) due to the user's JVM configuration.
> Hence, I believe that the "java.ext.dirs=" property setting should
> remain. As to whether we should try to add back the extensions at the
> end of the classloader's search list, I am not too picky about.
>
> My first concern is that Tomcat always can at least run no matter what
> extensions that user has installed. Whether or not those extensions are
> accessible to Tomcat is, IMHO, a feature that we may or may not want to
> include.
Fine, but your change creates problems (Jasper does not work on JDK 1.4
unless you delete common/endorsed/xerces.jar). I don't know why at this
time, but it should be fixed ASAP.
(Note: I don't care too much about this functionality ... Adding another CL
layer is dangerous and makes CL slower; unless other people think this is
useful I don't think we should add the feature)
Remy
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by co...@covalent.net.
On Mon, 1 Apr 2002, Patrick Luby wrote:
> Costin,
>
> The problem with the default JVM behavior can cause your application to
> crash or behave in unexpected ways if there are incompatible jars
> installed in the jre/lib/ext directory.
Then report the bug to the JVM people :-)
> The method that we are using is still compliant with the JDK
> documentation in that we are using the documented way over overriding
> the extensions via setting the "java.ext.dirs" property at startup. This
> also the same type of override mechanism for the endorsed directories in
> JDK 1.4.
> The only feature we are adding is the ability to add your extensions
> back at the end of the classloader's search list.
I can live with having tomcat explicitely disable ext.dir - most people
agree /ext is evil and it causes problems.
But adding it back with a different behavior is hardly 'compliant'.
The reason I disagree with removing ext - it makes tomcat even more
dependent on startup script behavior, and adds another difference with the
'normal' behavior for classloaders ( it already brakes one of the
fundamental rules - the delegation ).
> I am definitely not in favor of just letting the jre/lib/ext directory
> sit at the front of the classloader's search list as that makes Tomcat
> very sensitive (read breakable) due to the user's JVM configuration.
> Hence, I believe that the "java.ext.dirs=" property setting should
> remain. As to whether we should try to add back the extensions at the
> end of the classloader's search list, I am not too picky about.
The ext/ was created with a purpose - and is a standard part of java.
If we don't like it - we can recommend the users to not use it, but
if the user does want to use it, it should operate the way it was
intended.
> My first concern is that Tomcat always can at least run no matter what
> extensions that user has installed. Whether or not those extensions are
> accessible to Tomcat is, IMHO, a feature that we may or may not want to
> include.
If the user installs some incompatible extensions - I think tomcat should
report an error or not run. I'm ok with adding checks in tomcat to verify
that the files in ext/ are compatible.
Costin
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by Patrick Luby <pa...@sun.com>.
Costin,
The problem with the default JVM behavior can cause your application to
crash or behave in unexpected ways if there are incompatible jars
installed in the jre/lib/ext directory.
The method that we are using is still compliant with the JDK
documentation in that we are using the documented way over overriding
the extensions via setting the "java.ext.dirs" property at startup. This
also the same type of override mechanism for the endorsed directories in
JDK 1.4.
The only feature we are adding is the ability to add your extensions
back at the end of the classloader's search list.
I am definitely not in favor of just letting the jre/lib/ext directory
sit at the front of the classloader's search list as that makes Tomcat
very sensitive (read breakable) due to the user's JVM configuration.
Hence, I believe that the "java.ext.dirs=" property setting should
remain. As to whether we should try to add back the extensions at the
end of the classloader's search list, I am not too picky about.
My first concern is that Tomcat always can at least run no matter what
extensions that user has installed. Whether or not those extensions are
accessible to Tomcat is, IMHO, a feature that we may or may not want to
include.
Thanks,
Patrick
costinm@covalent.net wrote:
> 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 patrickl@apache.org 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: <ma...@jakarta.apache.org>
>>For additional commands, e-mail: <ma...@jakarta.apache.org>
>>
>
>
> --
> To unsubscribe, e-mail: <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
--
________________________________________________________________
Patrick Luby Email: patrick.luby@sun.com
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900
________________________________________________________________
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-tomcat-4.0/jasper/src/bin jasper.bat jasper.sh
Posted by co...@covalent.net.
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 patrickl@apache.org 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: <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>