servlet-api源码的获取以及打包

servlet-api源码的获取打包

使用Ant打包servlet-api源码

王延成 (ybygjy#gmail.com), 作者/编者,

2010 年 01 月 27 日

本文单主要简述了获取编译打包servlet-api源代码的过程。所用到的ant脚本需要根据实际场景做简单的调整即可。

基本步骤

1、准备tomcat源码
  下载地址:[http://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/src/]点击下载

2、ant环境
  下载地址:[http://archive.apache.org/dist/ant/binaries/]点击下载

3、ant脚本,这段脚本是改的人家源码里的那份build.xml。因为我们只需要取得源码,然后放到eclipse里做代码关联。所以删掉其它的target其中包括clear,所以执行完脚本后还需要:

  • copy出打包完成后的源文件,jar文件默认会在[dist/lib]下当然可修改build将它们放到其它地方
  • 手动的把相应ant创建的临时目录删掉。

  • 注意,需要把以下代码保存成servletApiSource.xml文件放到目录[jakarta-tomcat-5.0.28-src/jakarta-servletapi-5/jsr154]下,然后
    ant -f servletApiSource.xml

  • <textarea cols="80" rows="15" name="code" class="xhtml">&lt;project name="Servlet API Classes" default="jar" basedir="."&gt; &lt;!-- Load user property definition overrides --&gt; &lt;property file="build.properties"/&gt; &lt;property file="${user.home}/build.properties"/&gt; &lt;!-- Establish property definition defaults --&gt; &lt;property name="compile.debug" value="true"/&gt; &lt;property name="compile.deprecation" value="false"/&gt; &lt;property name="compile.optimize" value="true"/&gt; &lt;property name="implementation.revision" value="public_draft"/&gt; &lt;property name="servlet-api.build" value="build"/&gt; &lt;property name="servlet-api.dist" value="dist"/&gt; &lt;property name="jsp-api.src" value="../jsr152"/&gt; &lt;property name="servlet-api.jar" value="${servlet-api.dist}/lib/servlet-api.jar"/&gt; &lt;property name="servlet-api-source.jar" value="${servlet-api.dist}/lib/servlet-api-source.jar"/&gt; &lt;path id="examples.classpath"&gt; &lt;pathelement location="${servlet-api.build}/classes"/&gt; &lt;/path&gt; &lt;!-- ===================== Prepare Directories ========================= --&gt; &lt;target name="prepare"&gt; &lt;!-- "Build" Hierarchy --&gt; &lt;mkdir dir="${servlet-api.build}"/&gt; &lt;mkdir dir="${servlet-api.build}/classes"/&gt; &lt;mkdir dir="${servlet-api.build}/docs"/&gt; &lt;mkdir dir="${servlet-api.build}/docs/api"/&gt; &lt;mkdir dir="${servlet-api.build}/examples"/&gt; &lt;!-- "Dist" Hierarchy --&gt; &lt;mkdir dir="${servlet-api.dist}"/&gt; &lt;mkdir dir="${servlet-api.dist}/docs"/&gt; &lt;mkdir dir="${servlet-api.dist}/docs/api"/&gt; &lt;mkdir dir="${servlet-api.dist}/lib"/&gt; &lt;mkdir dir="${servlet-api.dist}/src"/&gt; &lt;mkdir dir="${servlet-api.dist}/examples"/&gt; &lt;uptodate property="docs.uptodate" targetfile="${servlet-api.build}/docs/api/index.html"&gt; &lt;srcfiles dir="src/share" includes="**/*.java" /&gt; &lt;/uptodate&gt; &lt;/target&gt; &lt;!-- ======================= Static Files ============================== --&gt; &lt;target name="static" depends="prepare"&gt; &lt;!-- "Dist" Hierarchy --&gt; &lt;copy todir="${servlet-api.dist}"&gt; &lt;fileset dir="." includes="BUILDING.txt"/&gt; &lt;fileset dir="." includes="LICENSE"/&gt; &lt;fileset dir="." includes="README.txt"/&gt; &lt;/copy&gt; &lt;/target&gt; &lt;!-- ======================== Compile Classes ========================== --&gt; &lt;target name="compile" depends="static" description="Compile API classes (Default)"&gt; &lt;copy todir="${servlet-api.build}/src"&gt; &lt;fileset dir="src/share"&gt; &lt;include name="**/*"/&gt; &lt;/fileset&gt; &lt;fileset dir="${jsp-api.src}/src/share"&gt; &lt;include name="**/*"/&gt; &lt;/fileset&gt; &lt;/copy&gt; &lt;!-- Java classes --&gt; &lt;javac srcdir="${servlet-api.build}/src" destdir="${servlet-api.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}"/&gt; &lt;!-- Associated property files --&gt; &lt;copy todir="${servlet-api.build}/classes"&gt; &lt;fileset dir="src/share"&gt; &lt;include name="**/*.properties"/&gt; &lt;/fileset&gt; &lt;fileset dir="${jsp-api.src}/src/share"&gt; &lt;include name="**/*.properties"/&gt; &lt;/fileset&gt; &lt;/copy&gt; &lt;!-- Servlet resources --&gt; &lt;copy todir="${servlet-api.build}/classes/javax/servlet/resources"&gt; &lt;fileset dir="src/share/dtd" includes="*.dtd,*.xsd"&gt; &lt;exclude name="jsp*.dtd"/&gt; &lt;exclude name="web-jsp*.dtd"/&gt; &lt;/fileset&gt; &lt;fileset dir="${jsp-api.src}/src/share/dtd"&gt; &lt;include name="jsp*.dtd"/&gt; &lt;include name="jsp*.xsd"/&gt; &lt;include name="web-jsp*.dtd"/&gt; &lt;include name="web-jsp*.xsd"/&gt; &lt;/fileset&gt; &lt;/copy&gt; &lt;!-- Servlet resources --&gt; &lt;copy todir="${servlet-api.build}/src/javax/servlet/resources"&gt; &lt;fileset dir="src/share/dtd" includes="*.dtd,*.xsd"&gt; &lt;exclude name="jsp*.dtd"/&gt; &lt;exclude name="web-jsp*.dtd"/&gt; &lt;/fileset&gt; &lt;fileset dir="${jsp-api.src}/src/share/dtd"&gt; &lt;include name="jsp*.dtd"/&gt; &lt;include name="jsp*.xsd"/&gt; &lt;include name="web-jsp*.dtd"/&gt; &lt;include name="web-jsp*.xsd"/&gt; &lt;/fileset&gt; &lt;/copy&gt; &lt;/target&gt; &lt;!-- ===================== Distribution Files ========================= --&gt; &lt;target name="jar" depends="compile" description="Create the jar"&gt; &lt;!-- Prepare Manifest --&gt; &lt;copy tofile="${servlet-api.build}/manifest" file="src/etc/manifest" overwrite="yes"&gt; &lt;filterset&gt; &lt;filter token="implementation.revision" value="${implementation.revision}"/&gt; &lt;/filterset&gt; &lt;/copy&gt; &lt;!-- Create JAR file --&gt; &lt;jar jarfile="${servlet-api.jar}" basedir="${servlet-api.build}/classes" manifest="${servlet-api.build}/manifest"&gt; &lt;include name="javax/servlet/**"/&gt; &lt;include name="javax/servlet/jsp/**"/&gt; &lt;/jar&gt; &lt;jar jarfile="${servlet-api-source.jar}" basedir="${servlet-api.build}/src" manifest="${servlet-api.build}/manifest"&gt; &lt;include name="javax/servlet/**"/&gt; &lt;/jar&gt; &lt;/target&gt; &lt;/project&gt; </textarea>

     

    你可能感兴趣的:(jsp,servlet,jar,include,hierarchy,resources)