`

ANT预编译JSP

阅读更多
<?xml version="1.0" encoding="GBK"?>
<project name="webNews" basedir="." default="java2class">
<property file="build.properties"/>
<target name="all" depends="jsp2java,java2class,class2jar"></target>
<target name="help">
<echo message="显示功能列表"/>
<echo message="jsp2java  通过JspC将JSP转换成Java源代码"/>
  <echo message="java2class 将转换后的Java源代码进行编译成class文件"/>
  <echo message="class2jar 将编译后的class文件打包"/>
  <echo message="clear  清理现场"/>
</target>
<target name="jsp2java">
<taskdef classname="org.apache.jasper.JspC" name="jsp2java">
 <classpath id="jsp2java.classpath">
  <fileset dir="${tomcat.home}/bin">
   <include name="*.jar"/>
  </fileset>
  <fileset dir="${tomcat.home}/lib">
   <include name="*.jar"/>
  </fileset>
 </classpath>
</taskdef>
 <jsp2java classpath="jsp2java.classpath" javaEncoding="UTF-8" validateXml="false"
   uriroot="${webapp.path}/WebRoot" webXmlFragment="${webapp.path}/WebRoot/WEB-INF/webJSP.xml"
   outputDir="${webapp.path}/WebRoot/WEB-INF/JspC/src"/>
</target>

<target name="java2class">
<mkdir dir="${webapp.path}/WebRoot/WEB-INF/JspC/classes"/>
<javac srcdir="${webapp.path}/src" destdir="${webapp.path}/Webroot/WEB-INF/JspC/classes"
 encoding="utf-8" optimize="off" debug="on" failonerror="false" excludes="**/*.smap">
 <classpath id="java2class.classpath">
  <fileset dir="${webapp.path}/WebRoot/WEB-INF/lib">
   <include name="*.jar"></include>
  </fileset>
  <fileset dir="${tomcat.home}/lib">
  	<include name="*.jar"/>
 </fileset>
 <fileset dir="${tomcat.home}/bin">
 	<include name="*.jar"/>
 </fileset>
 <pathelement location="${webapp.path}/WebRoot/WEB-INF/classes"/> 
 </classpath>
</javac>
</target>
<target name="class2jar">
<mkdir dir="${webapp.path}/WebRoot/WEB-INF/lib"></mkdir>
<jar jarfile="${webapp.path}/WebRoot/WEB-INF/lib/${webapp.name}JSP.jar" basedir="${webapp.path}/Webroot/WEB-INF/JspC/classes"/>
</target>
<target name="clear">
<delete dir="${webapp.path}/WebRoot/WEB-INF/JspC/src"/>
<delete dir="${webapp.path}/Webroot/WEB-INF/JspC/classes"/>
<delete dir="${webapp.path}/WebRoot/WEB-INF/lib/${webapp.name}JSP.jar"></delete>

</target>
</project>

 

tomcat.home=C:/apache-tomcat-6.0.20
webapp.path=D:/workspace/demo
webapp.name=demo

 

只需要设置好Ant的path环境变量,然后修改build.properties。执行ant all命令即可。
生成好的jar文件是{$webappname}JSP.jar。
在做为产品发布的时候,只需要你的类jar包和JSP预编译的包放到WEB-INF\lib\目录下即可,如${webappname}.jar和JSP预编译的包${webappname}JSP.jar;
然后删除掉你的所有的预编过的JSP源文件;
并且${webapp.path}/WEB-INF/webJSP.xml里的servlet映射,添加到${webapp.path}/WEB-INF/web.xml中。

分享到:
评论
1 楼 pacoson 2016-07-08  
感谢楼主。请受小生一拜。

相关推荐

    JSP预编译和打包成jar

    2. **构建工具集成**:例如Apache Ant或Maven等,它们可以配置成在构建过程中自动预编译JSP。这些工具可以读取项目配置,找到所有的JSP文件,然后调用相应的编译器进行处理。 在本例中,提到的**build.properties**...

    把jsp编译打包成jar

    总的来说,将JSP编译打包成jar是一个将静态的JSP文件转换为可执行的Servlet代码,并利用构建工具Ant完成打包的过程,这样可以方便地在不支持JSP的环境中运行和部署。这个过程涉及到JSP、Servlet、Ant构建工具以及web...

    Ant编译Tomcat源码、MyEclipse导入Tomcat源码、执行Tomcat源码启动Tomcat

    本篇将详细介绍如何使用Ant编译Tomcat源码,以及如何在MyEclipse环境中导入并运行Tomcat源码。 首先,Ant是Apache软件基金会开发的Java项目自动化构建工具,它能够执行编译、测试、打包等任务。在Apache Tomcat的...

    编译tomcat源码所需jar包

    编译源码时,会用到`ecj.jar`,这是Eclipse Java Compiler的jar包,用于编译JSP文件。 6. **其他依赖库**:Tomcat源码中还包括了其他一些必要的库,如`servlet-api.jar`、`jsp-api.jar`等,这些都是Java Web应用的...

    Ant编译实例详解[收集].pdf

    4. 编译jsp文件,生成.java源文件和.class字节码文件,存放在org/apache/jsp目录下。 5. 打包项目根目录下的所有文件和目录,生成WAR包,但排除WEB-INF/dist和WEB-INF/src目录及其内容。 JSP编译需要依赖Tomcat的...

    apache-ant-1.6.0-bin.zip_ant 1_ant 1.6_ant 1.6.0_ant-1.6.0_apach

    - 编译JSP页面为Java servlet源代码。 - 编译Java源代码。 - 打包Web应用为WAR文件。 - 部署Web应用到应用服务器。 - 运行单元测试。 - 清理构建产物。 Ant通过依赖管理确保了构建顺序,例如,它会先编译Java源代码...

    JSP转换HTML

    3. **预编译JSP**:JSP在部署时会被容器(如Tomcat)预编译成Servlet。这个Servlet是Java代码,它处理请求并生成HTML响应。开发者可以直接获取预编译后的Servlet源码,通过分析和运行,生成HTML。 4. **自动化工具*...

    Ant 1.7

    它可以与Servlet容器(如Tomcat)集成,实现自动编译JSP到Java类,以及更新Web应用到服务器。 **学习Ant**: 学习Ant包括理解其基本概念、任务和属性的用法,以及如何编写构建文件。Ant的官方文档和许多在线教程...

    编译tomcat依赖的包

    在IT行业中,Tomcat是一个非常重要的应用服务器,它主要用于部署和运行Java Servlet和JavaServer Pages (JSP)。...在生产环境中,推荐使用官方发布的预编译二进制版本,除非有特殊的需求或定制需求。

    ant1-9-4和tomcat7-0-57包

    Ant是一种基于Java的构建工具,而Tomcat则是一个流行的开源Servlet和JavaServer Pages(JSP)容器。在本篇中,我们将深入探讨这两个组件的核心功能、使用场景以及它们如何协同工作。 首先,让我们从Ant开始。Apache...

    tomcat6.0源码及编译依赖项(可编译)

    5. **JSP与Servlet**:Jasper组件负责将JSP文件转换为Servlet类,并编译成字节码。源码揭示了JSP编译过程,包括EL表达式和JSTL的处理。 编译过程: 1. **Apache Ant**:Apache Ant是一个Java库和命令行工具,用于...

    tomcat源码编译所需jar包

    在编译Tomcat源码时,需要确保系统已安装Ant,并且在项目环境中配置了相应的ANT_HOME环境变量。 二、Java开发工具包(JDK) Tomcat源码是用Java编写,因此,JDK是必不可少的。你需要一个支持你所编译的Tomcat版本的...

    Hadoop源代码eclipse编译教程[汇编].pdf

    3. Java编译:Hadoop要求使用1.6或更新的JDK,可以从http://java.sun.com/javase/downloads/index.jsp上下载JDK。 4. Ant和Cygwin:需要使用Ant工具来编译Hadoop,而Ant需要使用到Cygwin提供的一些工具,如sed等,...

    tomcat-ant-1.7.1官网下载

    关于Tomcat和Ant的集成,Tomcat是一个流行的开源Java应用服务器,用于部署和运行Servlet和JSP应用。Ant在部署和管理Tomcat中的应用时发挥着重要作用,如: - **部署应用**:Ant可以将WAR文件自动部署到Tomcat的...

    jsp知识jsp知识jsp知识

    1. **预编译JSP**:通过Ant等工具预先将JSP页面翻译并编译成Servlet,减少首次访问时的延迟。 2. **减少不必要的JSP标签**:避免过多的JSP指令和脚本元素,以减少翻译和编译的时间。 3. **使用缓存**:利用HTTP缓存...

    ant打war包

    Ant是Java项目自动化构建的利器,通过定义构建脚本,它可以执行编译、测试、打包等多种任务。在Ant中,我们可以配置target来指定构建流程,例如: ```xml ${build.dir}/classes"/&gt; ${build.dir}/war"/&gt; ...

    ant 小例子ant 小例子

    Ant的`&lt;war&gt;`任务可以处理这个问题,它会把编译后的类文件、Web资源(如HTML、JSP、CSS、JavaScript)以及配置文件打包成一个WAR文件。 4. **部署到服务器**:完成WAR文件后,Ant还可以使用`&lt;copy&gt;`或`&lt;untar&gt;`任务...

    ant启动关闭tomcat

    Ant(Another Neat Tool)是一种开源的Java库和命令行工具,用于编译、测试、部署和管理软件项目。它通过XML文件定义构建过程,使得构建脚本易于理解和维护。Ant的强大之处在于其灵活性和可扩展性,能够处理复杂的...

    ant_发布web项目

    WAR文件包含了Web应用的所有资源,包括HTML、CSS、JavaScript、JSP、图片以及编译后的类文件。 6. **部署WAR文件**:将生成的WAR文件复制到Web服务器的部署目录,如Tomcat的`webapps`目录。Ant的`copy`任务可以用来...

Global site tag (gtag.js) - Google Analytics