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,所以执行完脚本后还需要:
ant -f servletApiSource.xml
- <project name="Servlet API Classes" default="jar" basedir=".">
- <!-- Load user property definition overrides -->
- <property file="build.properties"/>
- <property file="${user.home}/build.properties"/>
- <!-- Establish property definition defaults -->
- <property name="compile.debug" value="true"/>
- <property name="compile.deprecation" value="false"/>
- <property name="compile.optimize" value="true"/>
- <property name="implementation.revision" value="public_draft"/>
- <property name="servlet-api.build" value="build"/>
- <property name="servlet-api.dist" value="dist"/>
- <property name="jsp-api.src" value="../jsr152"/>
- <property name="servlet-api.jar" value="${servlet-api.dist}/lib/servlet-api.jar"/>
- <property name="servlet-api-source.jar" value="${servlet-api.dist}/lib/servlet-api-source.jar"/>
- <path id="examples.classpath">
- <pathelement location="${servlet-api.build}/classes"/>
- </path>
- <!-- ===================== Prepare Directories ========================= -->
- <target name="prepare">
- <!-- "Build" Hierarchy -->
- <mkdir dir="${servlet-api.build}"/>
- <mkdir dir="${servlet-api.build}/classes"/>
- <mkdir dir="${servlet-api.build}/docs"/>
- <mkdir dir="${servlet-api.build}/docs/api"/>
- <mkdir dir="${servlet-api.build}/examples"/>
- <!-- "Dist" Hierarchy -->
- <mkdir dir="${servlet-api.dist}"/>
- <mkdir dir="${servlet-api.dist}/docs"/>
- <mkdir dir="${servlet-api.dist}/docs/api"/>
- <mkdir dir="${servlet-api.dist}/lib"/>
- <mkdir dir="${servlet-api.dist}/src"/>
- <mkdir dir="${servlet-api.dist}/examples"/>
- <uptodate property="docs.uptodate" targetfile="${servlet-api.build}/docs/api/index.html">
- <srcfiles dir="src/share" includes="**/*.java" />
- </uptodate>
- </target>
- <!-- ======================= Static Files ============================== -->
- <target name="static" depends="prepare">
- <!-- "Dist" Hierarchy -->
- <copy todir="${servlet-api.dist}">
- <fileset dir="." includes="BUILDING.txt"/>
- <fileset dir="." includes="LICENSE"/>
- <fileset dir="." includes="README.txt"/>
- </copy>
- </target>
- <!-- ======================== Compile Classes ========================== -->
- <target name="compile" depends="static"
- description="Compile API classes (Default)">
- <copy todir="${servlet-api.build}/src">
- <fileset dir="src/share">
- <include name="**/*"/>
- </fileset>
- <fileset dir="${jsp-api.src}/src/share">
- <include name="**/*"/>
- </fileset>
- </copy>
- <!-- Java classes -->
- <javac srcdir="${servlet-api.build}/src" destdir="${servlet-api.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}"/>
- <!-- Associated property files -->
- <copy todir="${servlet-api.build}/classes">
- <fileset dir="src/share">
- <include name="**/*.properties"/>
- </fileset>
- <fileset dir="${jsp-api.src}/src/share">
- <include name="**/*.properties"/>
- </fileset>
- </copy>
- <!-- Servlet resources -->
- <copy todir="${servlet-api.build}/classes/javax/servlet/resources">
- <fileset dir="src/share/dtd" includes="*.dtd,*.xsd">
- <exclude name="jsp*.dtd"/>
- <exclude name="web-jsp*.dtd"/>
- </fileset>
- <fileset dir="${jsp-api.src}/src/share/dtd">
- <include name="jsp*.dtd"/>
- <include name="jsp*.xsd"/>
- <include name="web-jsp*.dtd"/>
- <include name="web-jsp*.xsd"/>
- </fileset>
- </copy>
- <!-- Servlet resources -->
- <copy todir="${servlet-api.build}/src/javax/servlet/resources">
- <fileset dir="src/share/dtd" includes="*.dtd,*.xsd">
- <exclude name="jsp*.dtd"/>
- <exclude name="web-jsp*.dtd"/>
- </fileset>
- <fileset dir="${jsp-api.src}/src/share/dtd">
- <include name="jsp*.dtd"/>
- <include name="jsp*.xsd"/>
- <include name="web-jsp*.dtd"/>
- <include name="web-jsp*.xsd"/>
- </fileset>
- </copy>
- </target>
- <!-- ===================== Distribution Files ========================= -->
- <target name="jar" depends="compile" description="Create the jar">
- <!-- Prepare Manifest -->
- <copy tofile="${servlet-api.build}/manifest" file="src/etc/manifest" overwrite="yes">
- <filterset>
- <filter token="implementation.revision" value="${implementation.revision}"/>
- </filterset>
- </copy>
- <!-- Create JAR file -->
- <jar jarfile="${servlet-api.jar}" basedir="${servlet-api.build}/classes" manifest="${servlet-api.build}/manifest">
- <include name="javax/servlet/**"/>
- <include name="javax/servlet/jsp/**"/>
- </jar>
- <jar jarfile="${servlet-api-source.jar}" basedir="${servlet-api.build}/src" manifest="${servlet-api.build}/manifest">
- <include name="javax/servlet/**"/>
- </jar>
- </target>
- </project>