tomcat6与ant预编译jsp

1、创建build.properties文件
内容如下:
tomcat.home=D:/software/apache-tomcat-6.0.37
webapp.path=E:/source/mfoss/WebContent
其中tomcat.home为tomcat的路径,webapp.path为你需要预编译的工程路径,要指向WEB-INF的前一个文件夹,不然预编译时会报错
2、创建build.xml文件
内容如下:
<project name="Webapp Precompilation" default="all" basedir=".">
<property file="build.properties"/>
  <target name="jspc">

    <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
      <classpath id="jspc.classpath">
        <pathelement location="${java.home}/../lib/tools.jar"/>
        <fileset dir="${tomcat.home}/bin">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${tomcat.home}/lib">
          <include name="*.jar"/>
        </fileset>
      </classpath>
    </taskdef>

    <jasper2 javaEncoding="UTF-8"
             validateXml="false"
             uriroot="${webapp.path}"
             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
             outputDir="${webapp.path}/WEB-INF/src" />

  </target>

  <target name="compile">

    <mkdir dir="${webapp.path}/WEB-INF/classes"/>
    <mkdir dir="${webapp.path}/WEB-INF/lib"/>

    <javac destdir="${webapp.path}/WEB-INF/classes"
           optimize="of"
           encoding="UTF-8"
           debug="on" failonerror="false"
           srcdir="${webapp.path}/WEB-INF/src"
    excludes="**/*.smap">
      <classpath>
        <pathelement location="${webapp.path}/WEB-INF/classes"/>
        <fileset dir="${webapp.path}/WEB-INF/lib">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${tomcat.home}/lib">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${tomcat.home}/bin">
          <include name="*.jar"/>
        </fileset>
      </classpath>
      <include name="**" />
      <exclude name="tags/**" />
    </javac>
<jar jarfile="${webapp.path}/WEB-INF/lib/wo.jar" basedir="${webapp.path}/WEB-INF/classes"/>
  </target>
  <target name="all" depends="jspc,compile">
  </target>

</project>
3、执行ant,你就会在你的classes文件下发现多了org文件夹,还有lib下有你指定生成的jar文件,将org的内容发布到服务器上,还有要将WEB-INF下生成的generated_web.xml文件的内容复制到web.xml文件夹中去,然后去掉jsp文件,这样就可以了

你可能感兴趣的:(tomcat,jsp,ant,预编译)