You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/09/28 06:46:41 UTC

cvs commit: jakarta-tomcat-4.0/lib crimson.jar jaxp.jar

craigmcc    01/09/27 21:46:41

  Modified:    .        Tag: tomcat_40_branch BUILDING.txt
                        RELEASE-NOTES-4.0.1.txt build.properties.sample
               catalina Tag: tomcat_40_branch build.xml
               jasper   Tag: tomcat_40_branch build.xml
  Removed:     lib      Tag: tomcat_40_branch crimson.jar jaxp.jar
  Log:
  Switch to Xerces (version 1.4.3) as the standard XML parser that is
  exposed to web applications, as well as internal Tomcat components, in the
  "common/lib" directory.  Doing this seems to clear up *all* of the class
  loading problems related to XML parsers that I have been tracking.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.2   +34 -19    jakarta-tomcat-4.0/BUILDING.txt
  
  Index: BUILDING.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/BUILDING.txt,v
  retrieving revision 1.5.2.1
  retrieving revision 1.5.2.2
  diff -u -r1.5.2.1 -r1.5.2.2
  --- BUILDING.txt	2001/09/26 18:49:08	1.5.2.1
  +++ BUILDING.txt	2001/09/28 04:46:40	1.5.2.2
  @@ -1,4 +1,4 @@
  -$Id: BUILDING.txt,v 1.5.2.1 2001/09/26 18:49:08 remm Exp $
  +$Id: BUILDING.txt,v 1.5.2.2 2001/09/28 04:46:40 craigmcc Exp $
   
   
                  Building The Tomcat 4.0 Servlet/JSP Container
  @@ -73,8 +73,21 @@
     it can be used with the <style> tag) by copying it to "${ant.home}/lib".
   
   
  -(3) Download and Install Subproject Source Code
  +(3) Download and Install the Xerces 1 Distribution
   
  +* Download a binary distribution from:
  +
  +  http://xml.apache.org/dist/xerces-j/
  +
  +  (Tomcat was tested with "Xerces-J-bin-1.4.3.zip")
  +
  +* Unpack the binary distribution into a convenient location so that the
  +  distribution resides in its own directory (conventionally named
  +  "xerces-x_y_z").
  +
  +
  +(4) Download and Install Subproject Source Code
  +
   * Use Anonymous CVS (as described on the Jakarta web site at
     <http://jakarta.apache.org/site/cvsindex.html>, or
     download a source distribution from:
  @@ -97,7 +110,7 @@
     pathname of the release directory.
   
   
  -(4) Download and Install the Regular Expressions Binary Distribution
  +(5) Download and Install the Regular Expressions Binary Distribution
   
   NOTE:  Alternatively, you can download the sources of the
   "jakarta-regexp" subproject, and build a binary distribution yourself.
  @@ -117,7 +130,7 @@
     "jakarta-regexp-x.y").
   
   
  -(5) Download and Install the Servlet API Binary Distribution
  +(6) Download and Install the Servlet API Binary Distribution
   
   NOTE:  Alternatively, you can download the sources of the
   "jakarta-servletapi-4" subproject, and build a binary distribution yourself,
  @@ -138,14 +151,14 @@
     distribution resides in its own directory.
   
   
  -(6) Steps (7) - (17) are optional, but are necessary to build a complete binary
  +(7) Steps (8) - (18) are optional, but are necessary to build a complete binary
       distribution of Tomcat 4.0. Set the "full.dist" property to "on" in the
       build.properties file (see step (18)) to build a complete distribution.
       Regular contributors to Tomcat are encouraged to use the complete build 
       option.
   
   
  -(7) Download and Install JDBC Optional Package API Binary Distribution
  +(8) Download and Install JDBC Optional Package API Binary Distribution
   
   * Download the JDBC Optional Pacakge API package (version 2.0) from:
   
  @@ -154,7 +167,7 @@
   * Place the jar in a convenient location.
   
   
  -(8) Download and Install the JMX 1.0 Reference Implementation
  +(9) Download and Install the JMX 1.0 Reference Implementation
   
   * Download the JMX Instrumentation and Agent Reference Implementation
     (version 1.0 or later) from
  @@ -165,7 +178,7 @@
     it resides in its own subdirectory.
   
   
  -(9) Download and Install the JNDI 1.2.1 Reference Implementation
  +(10) Download and Install the JNDI 1.2.1 Reference Implementation
   
   * Download the Java Naming and Directory Interface (JNDI) package,
     (version 1.2.1 or later) from
  @@ -179,16 +192,18 @@
     same download page.  Be sure that you unpack "ldap.jar" into the "lib"
     subdirectory of the JNDI directory, parallel to "jndi.jar".
   
  -(10) Download and Install the Java Activation Framework 1.0.1
   
  +(11) Download and Install the Java Activation Framework 1.0.1
  +
   * Download the Java Activation Framework package (version 1.0.1 or later) from
   
       http://java.sun.com/products/javabeans/glasgow/jaf.html
   
   * Unpack the package into a convenient location so that it
  -  resised in its own subdirectory.
  +  resides in its own subdirectory.
  +
   
  -(11) Download and Install JavaMail 1.2
  +(12) Download and Install JavaMail 1.2
   
   * Download the JavaMail package (version 1.2 or later) from
   
  @@ -198,7 +213,7 @@
     it resides in its own subdirectory.
   
   
  -(12) Download and Install the JSSE 1.0.2 Reference Implementation
  +(13) Download and Install the JSSE 1.0.2 Reference Implementation
   
   * Download the Java Secure Sockets Extension (JSSE) package,
     (version 1.0.2 or later) from
  @@ -209,7 +224,7 @@
     it resides in its own subdirectory.
   
   
  -(13) Download and Install the Java Transaction APIs
  +(14) Download and Install the Java Transaction APIs
   
   * Download the Java Transaction API (JTA) package (version 1.0.1) from:
   
  @@ -219,7 +234,7 @@
     own subdirectory.
   
   
  -(14) Download and Install the Tyrex Data Source Package
  +(15) Download and Install the Tyrex Data Source Package
   
   NOTE:  This step is only required if you wish to build the Tyrex connection
   pool implementation for JNDI-accessed data sources.
  @@ -232,7 +247,7 @@
     own subdirectory.
   
   
  -(15) Download and Install the JUnit Testing Package (OPTIONAL)
  +(16) Download and Install the JUnit Testing Package (OPTIONAL)
   
   NOTE:  This step is only required if you wish to build and execute the unit
   tests that are part of the Tomcat 4.0 source base.
  @@ -245,14 +260,14 @@
     own subdirectory.
   
   
  -(16) Check out the jakarta-tomcat-connectors repository, using the "TOMCAT_4_1"
  +(17) Check out the jakarta-tomcat-connectors repository, using the "TOMCAT_4_1"
        tag.
   
   
  -(17) Compile the "util" module, and the "jk" module.
  +(18) Compile the "util" module, and the "jk" module.
   
   
  -(18) Customize Build Properties For This Subproject
  +(19) Customize Build Properties For This Subproject
   
   Most Jakarta subprojects allow you to customize Ant properties (with default
   values defined in the "build.xml" file.  This is done by creating a text file
  @@ -276,7 +291,7 @@
   each developer will have their own version.
   
   
  -(19) Build A Binary Distribution
  +(20) Build A Binary Distribution
   
   Open a command line shell, and issue the following commands:
   
  
  
  
  1.1.2.2   +13 -36    jakarta-tomcat-4.0/Attic/RELEASE-NOTES-4.0.1.txt
  
  Index: RELEASE-NOTES-4.0.1.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/Attic/RELEASE-NOTES-4.0.1.txt,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- RELEASE-NOTES-4.0.1.txt	2001/09/21 16:17:35	1.1.2.1
  +++ RELEASE-NOTES-4.0.1.txt	2001/09/28 04:46:40	1.1.2.2
  @@ -3,7 +3,7 @@
                               Release Notes
                               =============
   
  -$Id: RELEASE-NOTES-4.0.1.txt,v 1.1.2.1 2001/09/21 16:17:35 craigmcc Exp $
  +$Id: RELEASE-NOTES-4.0.1.txt,v 1.1.2.2 2001/09/28 04:46:40 craigmcc Exp $
   
   
   ============
  @@ -134,15 +134,13 @@
   A standard installation of Tomcat 4 makes all of the following APIs available
   for use by web applications (by placing them in "common/lib" or "lib"):
   * activation.jar (Java Activation Framework)
  -* crimson.jar (Unsealed version of JAXP/1.1 parser)
  -* jaxp.jar (Unsealed version of JAXP/1.1 API classes)
   * jdbc2_0-stdext.jar (JDBC 2.0 Optional Package, javax.sql.*)
   * jndi.jar (JNDI 1.2 base API classes)
   * jta-spec1_0_1 (Java Transacation APIs)
  -* ldap.jar (JNDI LDAP provider required by JNDIRealm)
   * mail.jar (JavaMail 1.2)
   * servlet.jar (Servlet 2.3 and JSP 1.2 APIs)
   * tyrex-0.9.7.0.jar (Tyrex XA-compatible data source from tyrex.exolab.org)
  +* xerces.jar (Xerces 1.4.3)
   
   You can make additional APIs available to all of your web applications by
   putting unpacked classes into a "classes" directory (not created by default),
  @@ -156,37 +154,16 @@
   As described above, Tomcat 4.0 makes an XML parser (and many other standard
   APIs) available to web applications.  This parser is also used internally
   to parse web.xml files and the server.xml configuration file.  If you wish,
  -you may replace the "jaxp.jar" and "crimson.jar" files in "common/lib" with
  -another XML parser, as long as it is compatible with the JAXP/1.1 APIs.
  +you may replace the "xerces.jar" file in "common/lib" with another XML parser,
  +as long as it is compatible with the JAXP/1.1 APIs.  Note, however, that
  +problems have been observed when trying to use the "jaxp.jar" and
  +"crimson.jar" files from the JAXP/1.1 Reference Implementation release
  +as Tomcat's standard XML parser.
  +
  +If you wish to *not* make any XML parser visible to all web applications,
  +this can be accomplished by copying the "xerces.jar" file from "common/lib"
  +to both "server/lib" and "jasper", and removing it from "common/lib".
   
  -WARNING:  If you include an XML parser such as Xerces inside your web app, you
  -will likely encounter a ClassCastException error when trying to initialize it.
  -This error occurs because two parsers are visible in the class loading path of
  -the web application.  To correct this problem, you should take *one* of the
  -following actions:
  -
  -* Remove the XML parser from your web application, and use the global
  -  one provided by Tomcat (jaxp.jar and crimson.jar in the "common/lib"
  -  directory).
  -
  -* Remove the XML parser from your web application, and put it in the
  -  "common/lib" directory *in place of* the one provided by Tomcat
  -  (jaxp.jar and crimson.jar).  This will work *only* if the XML parser
  -  you supply supports the JAXP/1.1 APIs (as recent versions of Xerces do).
  -
  -* Make Tomcat no longer provide an XML parser by default.  This is accomplished
  -  by moving the jaxp.jar and crimson.jar files from the "common/lib" directory
  -  to the "server/lib" directory (so that Tomcat can still use it internally for
  -  its own parsing requirements).  In this configuration, all web applications
  -  that require an XML parser will need to include one in their /WEB-INF/lib
  -  directory.
  -
  -WARNING:  Tomcat 4.0 ships with a modified version of the JAXP/1.1
  -"jaxp.jar" and "crimson.jar" files from JAXP/1.1 final release.
  -The "sealed" attribute has been removed from the manifest file for these
  -two JARs, to avoid "package sealing violation" errors that were caused by
  -them in a JDK 1.3 environment.  You MUST NOT replace these files with a
  -different (or later) release of JAXP, unless that later release has had
  -the sealed attribute removed, or you will encounter "package sealing violation"
  -errors when trying to use a different XML parser in a web application.
  +
  +
   
  
  
  
  1.7.2.6   +9 -1      jakarta-tomcat-4.0/build.properties.sample
  
  Index: build.properties.sample
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/build.properties.sample,v
  retrieving revision 1.7.2.5
  retrieving revision 1.7.2.6
  diff -u -r1.7.2.5 -r1.7.2.6
  --- build.properties.sample	2001/09/26 18:49:08	1.7.2.5
  +++ build.properties.sample	2001/09/28 04:46:40	1.7.2.6
  @@ -6,7 +6,7 @@
   # modules that Tomcat depends on.  Copy this file to "build.properties"
   # in the top-level source directory, and customize it as needed.
   #
  -# $Id: build.properties.sample,v 1.7.2.5 2001/09/26 18:49:08 remm Exp $
  +# $Id: build.properties.sample,v 1.7.2.6 2001/09/28 04:46:40 craigmcc Exp $
   # -----------------------------------------------------------------------------
   
   
  @@ -109,3 +109,11 @@
   tyrex.home=${base.path}/tyrex-0.9.7.0
   tyrex.lib=${tyrex.home}
   tyrex.jar=${tyrex.lib}/tyrex-0.9.7.0.jar
  +
  +
  +# ----- Xerces XML Parser, version 1.4.3 or later -----
  +xerces.home=${base.path}/xerces-1_4_3
  +xerces.lib=${xerces.home}
  +xercse.jar=${xerces.lib}/xerces.jar
  +
  +
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.60.2.5  +3 -8      jakarta-tomcat-4.0/catalina/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/build.xml,v
  retrieving revision 1.60.2.4
  retrieving revision 1.60.2.5
  diff -u -r1.60.2.4 -r1.60.2.5
  --- build.xml	2001/09/26 18:49:08	1.60.2.4
  +++ build.xml	2001/09/28 04:46:41	1.60.2.5
  @@ -14,8 +14,6 @@
     <property name="catalina.build"    value="build"/>
     <property name="catalina.deploy"   value="../build"/>
     <property name="catalina.dist"     value="dist"/>
  -  <property name="copy.crimson.jar"  value="../lib/crimson.jar"/>
  -  <property name="copy.jaxp.jar"     value="../lib/jaxp.jar"/>
     <property name="test.failonerror"  value="true"/>
     <property name="test.runner"       value="junit.textui.TestRunner"/>
     <property name="test.webapp"       value="../webapps/build/examples"/>
  @@ -24,8 +22,6 @@
     <!-- Construct Catalina classpath -->
     <path id="catalina.classpath">
       <pathelement location="${activation.jar}"/>
  -    <pathelement location="${copy.crimson.jar}"/>
  -    <pathelement location="${copy.jaxp.jar}"/>
       <pathelement location="${jcert.jar}"/>
       <pathelement location="${jdbc20ext.jar}"/>
       <pathelement location="${jmxri.jar}"/>
  @@ -38,6 +34,7 @@
       <pathelement location="${regexp.jar}"/>
       <pathelement location="${servlet.jar}"/>
       <pathelement location="${tyrex.jar}"/>
  +    <pathelement location="${xerces.jar}"/>
       <pathelement location="${catalina.build}/classes"/>
     </path>
   
  @@ -45,8 +42,6 @@
     <path id="test.classpath">
       <pathelement location="${junit.jar}"/>
       <pathelement location="${activation.jar}"/>
  -    <pathelement location="${copy.crimson.jar}"/>
  -    <pathelement location="${copy.jaxp.jar}"/>
       <pathelement location="${jcert.jar}"/>
       <pathelement location="${jdbc20ext.jar}"/>
       <pathelement location="${jmxri.jar}"/>
  @@ -59,6 +54,7 @@
       <pathelement location="${regexp.jar}"/>
       <pathelement location="${servlet.jar}"/>
       <pathelement location="${tyrex.jar}"/>
  +    <pathelement location="${xerces.jar}"/>
       <pathelement location="${catalina.build}/classes"/>
       <pathelement location="${catalina.build}/tests"/>
     </path>
  @@ -431,9 +427,8 @@
       <chmod perm="+x" file="${catalina.build}/bin/shutdown.sh"/>
   
       <!-- Common Extensions -->
  -    <copy todir="${catalina.build}/common/lib" file="${copy.crimson.jar}"/>
  -    <copy todir="${catalina.build}/common/lib" file="${copy.jaxp.jar}"/>
       <copy todir="${catalina.build}/common/lib" file="${servlet.jar}"/>
  +    <copy todir="${catalina.build}/common/lib" file="${xerces.jar}"/>
   
       <!-- Configuration Files -->
       <copy todir="${catalina.build}/conf">
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.22.2.1  +2 -10     jakarta-tomcat-4.0/jasper/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/build.xml,v
  retrieving revision 1.22
  retrieving revision 1.22.2.1
  diff -u -r1.22 -r1.22.2.1
  --- build.xml	2001/09/16 04:58:28	1.22
  +++ build.xml	2001/09/28 04:46:41	1.22.2.1
  @@ -11,8 +11,6 @@
   
     <!-- Build Defaults -->
     <property name="build.compiler"    value="classic"/>
  -  <property name="copy.crimson.jar"  value="../lib/crimson.jar"/>
  -  <property name="copy.jaxp.jar"     value="../lib/jaxp.jar"/>
     <property name="jasper.build"      value="build"/>
     <property name="jasper.deploy"     value="../build"/>
     <property name="jasper.dist"       value="dist"/>
  @@ -22,20 +20,18 @@
   
     <!-- Construct Jasper classpath -->
     <path id="jasper.classpath">
  -    <pathelement location="${copy.crimson.jar}"/>
  -    <pathelement location="${copy.jaxp.jar}"/>
       <pathelement location="${servlet.jar}"/>
       <pathelement location="${tools.jar}"/>
  +    <pathelement location="${xerces.jar}"/>
       <pathelement location="${jasper.build}/classes"/>
     </path>
   
     <!-- Construct unit tests classpath -->
     <path id="test.classpath">
       <pathelement location="${junit.jar}"/>
  -    <pathelement location="${copy.crimson.jar}"/>
  -    <pathelement location="${copy.jaxp.jar}"/>
       <pathelement location="${servlet.jar}"/>
       <pathelement location="${tools.jar}"/>
  +    <pathelement location="${xerces.jar}"/>
       <pathelement location="${jasper.build}/classes"/>
       <pathelement location="${jasper.build}/tests"/>
     </path>
  @@ -69,10 +65,6 @@
       <fixcrlf srcdir="${jasper.build}/bin" includes="*.bat" eol="crlf"/>
       <chmod perm="+x" file="${jasper.build}/bin/jasper.sh"/>
       <chmod perm="+x" file="${jasper.build}/bin/jspc.sh"/>
  -
  -    <!-- Common Extensions -->
  -    <copy todir="${jasper.build}/jasper" file="${copy.crimson.jar}"/>
  -    <copy todir="${jasper.build}/jasper" file="${copy.jaxp.jar}"/>
   
     </target>