Tomcat: Bundle a stripped tomcat-coyote.jar with the utils

required to precompile jsps with tags (SusiDNS and Bote).
As of 6.0.39, these utils are required but they are not bundled
in the Tomcat deployer package, the main package is required.
This checkin has only the classes required from the jar.
This commit is contained in:
zzz
2014-06-10 00:17:19 +00:00
parent 884b285bf5
commit 4dd8a6421a
3 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,10 @@
This is Apache Tomcat 6.x, supporting Servlet 2.5 and JSP 2.1.
Retrieved from the file
apache-tomcat-6.0.41.tar.gz
containing only a small subset of lib/tomcat-coyote.jar.
See the buildTomcatUtilJar target in ../build.xml for the classes extracted and more information.
LICENSE: see ../../../licenses/LICENSE-Apache2.0.txt

Binary file not shown.

View File

@ -10,6 +10,9 @@
<property name="javac.compilerargs" value="" /> <property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.6" /> <property name="javac.version" value="1.6" />
<property name="tomcat.lib" value="apache-tomcat-deployer/lib" /> <property name="tomcat.lib" value="apache-tomcat-deployer/lib" />
<property name="tomcat.ver" value="6.0.41" />
<property name="tomcat2.lib" value="apache-tomcat-${tomcat.ver}/lib" />
<property name="tomcat2.lib.small" value="apache-tomcat/lib" />
<target name="all" depends="build" /> <target name="all" depends="build" />
@ -152,6 +155,23 @@
<ant target="copyTomcatLib" /> <ant target="copyTomcatLib" />
</target> </target>
<!-- Tomcat util jar.
As of Tomcat 6.0.39, the deployer does not contain some classes that are required
to precompile jsps with tags (SusiDNS and i2p-bote).
These classes are in the main Tomcat package, in lib/tomcat-coyote.jar.
As the jar is 800 KB and we only need 12 KB of that, we extract the required classes
to a new jar, created and checked in using this target.
Apparently this is only required for precompilation of jsps, so this is put in
with the JspC compiler jasper-runtime.jar below.
-->
<target name="buildTomcatUtilJar" >
<!-- take only what we need from the tomcat-coyote jar -->
<jar destfile="${tomcat2.lib.small}/tomcat-coyote-util.jar" >
<zipfileset src="${tomcat2.lib}/tomcat-coyote.jar"
includes="org/apache/tomcat/util/descriptor/* org/apache/tomcat/util/res/*" />
</jar>
</target>
<!-- Tomcat. <!-- Tomcat.
The glassfish jars bundled in Jetty 6 are way too old. The glassfish jars bundled in Jetty 6 are way too old.
For compatibility with very old I2P installations where the classpath For compatibility with very old I2P installations where the classpath
@ -170,6 +190,7 @@
<target name="copyTomcatLib" > <target name="copyTomcatLib" >
<jar destfile="jettylib/jasper-runtime.jar" filesetmanifest="merge" > <jar destfile="jettylib/jasper-runtime.jar" filesetmanifest="merge" >
<zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper.jar" /> <zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper.jar" />
<zipfileset src="${tomcat2.lib.small}/tomcat-coyote-util.jar" />
</jar> </jar>
<jar destfile="jettylib/commons-el.jar" duplicate="preserve" filesetmanifest="merge" > <jar destfile="jettylib/commons-el.jar" duplicate="preserve" filesetmanifest="merge" >
<zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper-el.jar" /> <zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper-el.jar" />