`
wangyanlong0107
  • 浏览: 495075 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

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

    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>  

     

    分享到:
    评论

    相关推荐

      servlet-api.jar 及源文件

      【标题】:servlet-api.jar 及源文件详解 【描述】:servlet-api.jar 是一个重要的Java Servlet API库,它包含了处理Web请求的核心接口和类。这个库主要用于开发基于Java的Web应用程序,特别是Servlets。同时,描述...

      servlet.api(中文版)

      Servlet API是Java Web开发中的核心组件,它是Java Servlet规范的一部分,用于定义服务器端与Web应用程序交互的接口和类。这个中文版的文档对于理解和使用Servlet技术尤其有帮助,特别是对于那些中文阅读更舒适的...

      精选_基于JAVA Servlet实现的学生管理系统_源码打包

      在Web应用的`web.xml`文件中,我们通常会定义Servlet的配置信息,包括Servlet的名称、全限定类名以及URL路径映射。例如: ``` &lt;servlet&gt; &lt;servlet-name&gt;StudentServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

      如何编译运行servlet

      这篇博客文章“如何编译运行servlet”将引导我们了解如何从源码开始,通过一系列步骤来编译和运行一个Servlet。 首先,我们需要一个Java开发环境,比如Java Development Kit (JDK),它包含了编译Java代码所需的...

      创建简单servlet

      4. **部署和测试**:将编译后的Servlet类打包成`.war`文件,然后将其部署到Tomcat服务器的`webapps`目录下。启动服务器后,可以通过浏览器访问上述URL来测试Servlet。 **高级话题** 1. **Servlet上下文**:`...

      apache-tomcat-8.5.23-src源码

      Apache Tomcat是一个开源的Java Servlet容器,主要用于实现JavaServer Pages (JSP)、Servlet和Java EE的Web应用程序。...同时,通过学习源码,也可以加深对Java Web技术和相关标准的理解,比如Servlet API、JSP规范等。

      dubbo-admin 2.6.0 源码

      在完成导入到开发环境(如IDEA或Eclipse)后,可以将这个项目打包成WAR文件,然后部署到Tomcat 9这样的Servlet容器中,实现无缝运行。 【标签】"dubbo, dubbo-admin, java, maven, zookeeper"揭示了与该项目相关的...

      Servlet测试应用.zip

      6. **部署**:Servlet应用通常被打包成WAR(Web Application Archive)文件,然后部署到支持Java EE的Web服务器,如Tomcat、Jetty等。 7. **IDE支持**:在`.idea`目录中,可以看到该项目可能使用了IntelliJ IDEA...

      Java源码打包分发源码 打包免签分发平台+搭建说明

      Java源码打包分发源码是开发者们进行软件发布与管理的一种常见方式,尤其是在移动应用开发领域。这个打包免签分发平台提供了便捷的途径,让开发者能够将他们的应用程序打包并分发出去,而无需经过复杂的签名过程。...

      servlet3-maven-archetype

      Servlet3.1是Java Servlet API的一个重要版本,它在Servlet3.0的基础上进行了进一步的增强和优化,提供了更高效、更灵活的Web应用程序开发能力。Maven是一个强大的项目管理工具,能够帮助开发者管理项目的构建、依赖...

      Maven+Servlet3.0显示系统时间源码+文档

      【Maven+Servlet3.0显示系统时间源码+文档】这一资源主要涵盖了两个关键的IT技术:Maven和Servlet3.0。Maven是一个强大的Java项目管理工具,而Servlet3.0是Java服务器端编程的重要组成部分,尤其在构建Web应用程序...

      ServletConfig

      ServletConfig是Java Servlet API中的一个重要概念,它是Servlet容器(如Tomcat、Jetty等)配置Servlet的主要方式之一。在Web应用程序的部署描述符`web.xml`文件中,我们可以定义一个或多个ServletConfig对象,为...

      如何把普通maven工程变为web工程

      需要在`pom.xml`中引入Web容器(如Tomcat)所需的依赖,比如Servlet API和JSP API。这些通常是提供的库,因此需要将它们设置为`provided`,这意味着在开发时使用,但在最终部署时不包含: ```xml &lt;!-- Servlet ...

      JavaWeb视频教程_day22-资料源码

      8. **部署和运行JavaWeb应用**:教程可能会讲解如何将开发好的应用打包成WAR文件,然后部署到Tomcat、Jetty等Web容器中,以及如何调试和优化应用性能。 9. **EJB(Enterprise JavaBeans)**:虽然EJB主要用于企业级...

      maven的一个javaweb简单实例

      例如,为了创建一个JavaWeb项目,我们需要声明`war`打包类型和相关的web库依赖,如`javax.servlet-api`: ```xml ... &lt;packaging&gt;war &lt;groupId&gt;javax.servlet &lt;artifactId&gt;javax.servlet-api &lt;version&gt;...

      用java(servlet)写的购物网站项目源码

      这通常使用Servlet API中的Part接口处理multipart/form-data类型的请求,而文件下载则通过设置响应头实现。 9. **异常处理**:为了提供良好的用户体验,项目应有完善的异常处理机制,捕获和处理可能出现的错误,如...

      maven 创建web project 配置jetty运行

      这涉及到的两个核心文件是`pom.xml`(Project Object Model)和`web.xml`(Web应用部署描述符),以及一个额外的`webdefault.xml`,它定义了Web应用的默认配置。 首先,`pom.xml`是Maven项目的灵魂,它包含了项目的...

      基于java的-127-jspm医院门诊挂号系统--LW-源码.zip

      JSPM可以配合SystemJS,提供模块化加载和打包功能,便于管理和优化前端代码。 8. **版本控制**:虽然未直接提及,但在实际项目中,源代码通常会被纳入Git等版本控制系统,用于代码版本管理和团队协作。 9. **软件...

      编译tomcat源码所需jar包

      6. **其他依赖库**:Tomcat源码中还包括了其他一些必要的库,如`servlet-api.jar`、`jsp-api.jar`等,这些都是Java Web应用的标准API,用于提供Servlet和JSP的支持。 编译步骤大致如下: 1. **获取源码**:从...

      芝麻开门博客网.zip-Java源码项目

      【芝麻开门博客网.zip - Java源码项目】是一个基于Java技术开发的博客系统,它包含了软件工程中的多个重要环节,如需求分析、设计、编码、测试等,是学习和研究Java Web开发的一个实用案例。该项目可能适用于软件...

    Global site tag (gtag.js) - Google Analytics