【转】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

[xhtml]  view plain copy print ?
  1. <project name="Servlet API Classes" default="jar" basedir=".">  
  2.   <!-- Load user property definition overrides -->  
  3.   <property file="build.properties"/>  
  4.   <property file="${user.home}/build.properties"/>  
  5.   
  6.   <!-- Establish property definition defaults -->  
  7.   <property name="compile.debug"       value="true"/>  
  8.   <property name="compile.deprecation" value="false"/>  
  9.   <property name="compile.optimize"    value="true"/>  
  10.   <property name="implementation.revision" value="public_draft"/>  
  11.   <property name="servlet-api.build"    value="build"/>  
  12.   <property name="servlet-api.dist"     value="dist"/>  
  13.   <property name="jsp-api.src" value="../jsr152"/>  
  14.   <property name="servlet-api.jar" value="${servlet-api.dist}/lib/servlet-api.jar"/>  
  15.   <property name="servlet-api-source.jar" value="${servlet-api.dist}/lib/servlet-api-source.jar"/>  
  16.   <path id="examples.classpath">  
  17.     <pathelement location="${servlet-api.build}/classes"/>  
  18.   </path>  
  19.   
  20.   <!-- ===================== Prepare Directories ========================= -->  
  21.   <target name="prepare">  
  22.   
  23.     <!-- "Build" Hierarchy -->  
  24.     <mkdir dir="${servlet-api.build}"/>  
  25.     <mkdir dir="${servlet-api.build}/classes"/>  
  26.     <mkdir dir="${servlet-api.build}/docs"/>  
  27.     <mkdir dir="${servlet-api.build}/docs/api"/>  
  28.     <mkdir dir="${servlet-api.build}/examples"/>  
  29.   
  30.     <!-- "Dist" Hierarchy -->  
  31.     <mkdir dir="${servlet-api.dist}"/>  
  32.     <mkdir dir="${servlet-api.dist}/docs"/>  
  33.     <mkdir dir="${servlet-api.dist}/docs/api"/>  
  34.     <mkdir dir="${servlet-api.dist}/lib"/>  
  35.     <mkdir dir="${servlet-api.dist}/src"/>  
  36.     <mkdir dir="${servlet-api.dist}/examples"/>  
  37.   
  38.     <uptodate property="docs.uptodate" targetfile="${servlet-api.build}/docs/api/index.html">  
  39.       <srcfiles dir="src/share" includes="**/*.java" />  
  40.     </uptodate>  
  41.   </target>  
  42.   
  43.   <!-- ======================= Static Files ============================== -->  
  44.   <target name="static" depends="prepare">  
  45.   
  46.     <!-- "Dist" Hierarchy -->  
  47.     <copy todir="${servlet-api.dist}">  
  48.       <fileset dir="." includes="BUILDING.txt"/>  
  49.       <fileset dir="." includes="LICENSE"/>  
  50.       <fileset dir="." includes="README.txt"/>  
  51.     </copy>  
  52.   
  53.   </target>  
  54.   
  55.   <!-- ======================== Compile Classes ========================== -->  
  56.   <target name="compile" depends="static"  
  57.    description="Compile API classes (Default)">  
  58.   
  59.         <copy todir="${servlet-api.build}/src">  
  60.           <fileset dir="src/share">  
  61.             <include name="**/*"/>  
  62.           </fileset>  
  63.           <fileset dir="${jsp-api.src}/src/share">  
  64.             <include name="**/*"/>  
  65.           </fileset>  
  66.         </copy>  
  67.     <!-- Java classes -->  
  68.     <javac srcdir="${servlet-api.build}/src" destdir="${servlet-api.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}"/>  
  69.   
  70.     <!-- Associated property files -->  
  71.     <copy todir="${servlet-api.build}/classes">  
  72.         <fileset dir="src/share">  
  73.           <include name="**/*.properties"/>  
  74.         </fileset>  
  75.         <fileset dir="${jsp-api.src}/src/share">  
  76.             <include name="**/*.properties"/>  
  77.         </fileset>  
  78.     </copy>  
  79.   
  80.     <!-- Servlet resources -->  
  81.     <copy todir="${servlet-api.build}/classes/javax/servlet/resources">  
  82.         <fileset dir="src/share/dtd" includes="*.dtd,*.xsd">  
  83.           <exclude name="jsp*.dtd"/>  
  84.           <exclude name="web-jsp*.dtd"/>  
  85.         </fileset>  
  86.                 <fileset dir="${jsp-api.src}/src/share/dtd">  
  87.           <include name="jsp*.dtd"/>  
  88.           <include name="jsp*.xsd"/>  
  89.           <include name="web-jsp*.dtd"/>  
  90.           <include name="web-jsp*.xsd"/>  
  91.         </fileset>  
  92.     </copy>  
  93.     <!-- Servlet resources -->  
  94.     <copy todir="${servlet-api.build}/src/javax/servlet/resources">  
  95.         <fileset dir="src/share/dtd" includes="*.dtd,*.xsd">  
  96.           <exclude name="jsp*.dtd"/>  
  97.           <exclude name="web-jsp*.dtd"/>  
  98.         </fileset>  
  99.                 <fileset dir="${jsp-api.src}/src/share/dtd">  
  100.           <include name="jsp*.dtd"/>  
  101.           <include name="jsp*.xsd"/>  
  102.           <include name="web-jsp*.dtd"/>  
  103.           <include name="web-jsp*.xsd"/>  
  104.         </fileset>  
  105.     </copy>  
  106.   </target>  
  107.   
  108.   <!-- ===================== Distribution Files ========================= -->  
  109.   <target name="jar" depends="compile" description="Create the jar">  
  110.   
  111.     <!-- Prepare Manifest -->  
  112.     <copy tofile="${servlet-api.build}/manifest" file="src/etc/manifest" overwrite="yes">  
  113.       <filterset>  
  114.         <filter token="implementation.revision" value="${implementation.revision}"/>  
  115.       </filterset>  
  116.     </copy>  
  117.   
  118.     <!-- Create JAR file -->  
  119.     <jar jarfile="${servlet-api.jar}" basedir="${servlet-api.build}/classes" manifest="${servlet-api.build}/manifest">  
  120.       <include name="javax/servlet/**"/>  
  121.       <include name="javax/servlet/jsp/**"/>  
  122.     </jar>  
  123.     <jar jarfile="${servlet-api-source.jar}" basedir="${servlet-api.build}/src" manifest="${servlet-api.build}/manifest">  
  124.             <include name="javax/servlet/**"/>  
  125.         </jar>  
  126.   </target>  
  127. </project>  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值