<?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中。
分享到:
相关推荐
2. **构建工具集成**:例如Apache Ant或Maven等,它们可以配置成在构建过程中自动预编译JSP。这些工具可以读取项目配置,找到所有的JSP文件,然后调用相应的编译器进行处理。 在本例中,提到的**build.properties**...
总的来说,将JSP编译打包成jar是一个将静态的JSP文件转换为可执行的Servlet代码,并利用构建工具Ant完成打包的过程,这样可以方便地在不支持JSP的环境中运行和部署。这个过程涉及到JSP、Servlet、Ant构建工具以及web...
本篇将详细介绍如何使用Ant编译Tomcat源码,以及如何在MyEclipse环境中导入并运行Tomcat源码。 首先,Ant是Apache软件基金会开发的Java项目自动化构建工具,它能够执行编译、测试、打包等任务。在Apache Tomcat的...
编译源码时,会用到`ecj.jar`,这是Eclipse Java Compiler的jar包,用于编译JSP文件。 6. **其他依赖库**:Tomcat源码中还包括了其他一些必要的库,如`servlet-api.jar`、`jsp-api.jar`等,这些都是Java Web应用的...
4. 编译jsp文件,生成.java源文件和.class字节码文件,存放在org/apache/jsp目录下。 5. 打包项目根目录下的所有文件和目录,生成WAR包,但排除WEB-INF/dist和WEB-INF/src目录及其内容。 JSP编译需要依赖Tomcat的...
- 编译JSP页面为Java servlet源代码。 - 编译Java源代码。 - 打包Web应用为WAR文件。 - 部署Web应用到应用服务器。 - 运行单元测试。 - 清理构建产物。 Ant通过依赖管理确保了构建顺序,例如,它会先编译Java源代码...
3. **预编译JSP**:JSP在部署时会被容器(如Tomcat)预编译成Servlet。这个Servlet是Java代码,它处理请求并生成HTML响应。开发者可以直接获取预编译后的Servlet源码,通过分析和运行,生成HTML。 4. **自动化工具*...
它可以与Servlet容器(如Tomcat)集成,实现自动编译JSP到Java类,以及更新Web应用到服务器。 **学习Ant**: 学习Ant包括理解其基本概念、任务和属性的用法,以及如何编写构建文件。Ant的官方文档和许多在线教程...
在IT行业中,Tomcat是一个非常重要的应用服务器,它主要用于部署和运行Java Servlet和JavaServer Pages (JSP)。...在生产环境中,推荐使用官方发布的预编译二进制版本,除非有特殊的需求或定制需求。
Ant是一种基于Java的构建工具,而Tomcat则是一个流行的开源Servlet和JavaServer Pages(JSP)容器。在本篇中,我们将深入探讨这两个组件的核心功能、使用场景以及它们如何协同工作。 首先,让我们从Ant开始。Apache...
5. **JSP与Servlet**:Jasper组件负责将JSP文件转换为Servlet类,并编译成字节码。源码揭示了JSP编译过程,包括EL表达式和JSTL的处理。 编译过程: 1. **Apache Ant**:Apache Ant是一个Java库和命令行工具,用于...
在编译Tomcat源码时,需要确保系统已安装Ant,并且在项目环境中配置了相应的ANT_HOME环境变量。 二、Java开发工具包(JDK) Tomcat源码是用Java编写,因此,JDK是必不可少的。你需要一个支持你所编译的Tomcat版本的...
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的集成,Tomcat是一个流行的开源Java应用服务器,用于部署和运行Servlet和JSP应用。Ant在部署和管理Tomcat中的应用时发挥着重要作用,如: - **部署应用**:Ant可以将WAR文件自动部署到Tomcat的...
1. **预编译JSP**:通过Ant等工具预先将JSP页面翻译并编译成Servlet,减少首次访问时的延迟。 2. **减少不必要的JSP标签**:避免过多的JSP指令和脚本元素,以减少翻译和编译的时间。 3. **使用缓存**:利用HTTP缓存...
Ant是Java项目自动化构建的利器,通过定义构建脚本,它可以执行编译、测试、打包等多种任务。在Ant中,我们可以配置target来指定构建流程,例如: ```xml ${build.dir}/classes"/> ${build.dir}/war"/> ...
Ant的`<war>`任务可以处理这个问题,它会把编译后的类文件、Web资源(如HTML、JSP、CSS、JavaScript)以及配置文件打包成一个WAR文件。 4. **部署到服务器**:完成WAR文件后,Ant还可以使用`<copy>`或`<untar>`任务...
Ant(Another Neat Tool)是一种开源的Java库和命令行工具,用于编译、测试、部署和管理软件项目。它通过XML文件定义构建过程,使得构建脚本易于理解和维护。Ant的强大之处在于其灵活性和可扩展性,能够处理复杂的...
WAR文件包含了Web应用的所有资源,包括HTML、CSS、JavaScript、JSP、图片以及编译后的类文件。 6. **部署WAR文件**:将生成的WAR文件复制到Web服务器的部署目录,如Tomcat的`webapps`目录。Ant的`copy`任务可以用来...