Ant部署JSP文件

来源:互联网 发布:库位分配软件 编辑:程序博客网 时间:2024/06/06 15:42

<?xml version="1.0" encoding="UTF-8"?>
<project name="Webapp Precompilation" default="all" basedir=".">
 <property environment="env" />
 <property name="tomcat.home" value="D:\JavaTools\常用JAR(源)文件\apache_lib_all\apache-tomcat-7.0.37_tar.gz" />
 <property name="webapp.path" value="E:\CodeSpace\jspweb\antwebapp" />
    <!--<import file="${tomcat.home}/bin/catalina-tasks.xml"/>-->
 <!--JSP生成java文件:采用定义任务方式 ,不需要<import file="${tomcat.home}/bin/catalina-tasks.xml"/>-->
    <target name="jspc">
  <taskdef classname="org.apache.jasper.JspC" name="jasper2class">
   <classpath id="jspc.classpath">
    <pathelement location="${webapp.path}/WEB-INF/class" />
    <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>
  </taskdef>
  
  <mkdir dir="${webapp.path}/WEB-INF/src"/>
  <jasper2class
     validateXml="false"
     uriroot="${webapp.path}"
     webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
     outputDir="${webapp.path}/WEB-INF/src" />
     <!--outputDir为jsp编译成java所在路径-->
     <!--webXmlFragment为生成的jsp访问路径映射集合-->
  <echo message="Jasper over ." />
    </target>
 <!--JSP生成java文件另一种方法:需要<import file="${tomcat.home}/bin/catalina-tasks.xml"/>-->
 <target name="jspcAnother">
  
  <mkdir dir="${webapp.path}/WEB-INF/src"/>
  <jasper
     validateXml="false"
     uriroot="${webapp.path}"
     webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
     outputDir="${webapp.path}/WEB-INF/src" />
     <!--outputDir为jsp编译成java所在路径-->
     <!--webXmlFragment为生成的jsp访问路径映射集合-->
  <echo message="Jasper over ." />
    </target>

    <target name="compileJsp">
  <!--防止web项目没有这两个目录而报错-->
  <mkdir dir="${webapp.path}/WEB-INF/classes"/>
  <mkdir dir="${webapp.path}/WEB-INF/lib"/>

  <javac destdir="${webapp.path}/WEB-INF/classes"
      optimize="off"
      debug="on" failonerror="false"
      srcdir="${webapp.path}/WEB-INF/src"
      excludes="**/*.smap"
      executable="${env.JAVA_HOME}\bin\javac.exe"
      memoryMaximumSize="1024m"
      fork="true">
      <!--fork为true才能指定memoryMaximumSize-->
      <classpath>
    <pathelement location="${webapp.path}/WEB-INF/classes"/>
    <!--web工程一些放在WEB-INF/lib目录下的jar包-->
    <fileset dir="${webapp.path}/WEB-INF/lib">
      <include name="*.jar"/>
    </fileset>
    
    <pathelement location="${tomcat.home}/lib"/>
     <!--web工程一些放在%TOMCAT_HOME%/lib目录下的jar包(将jsp生成的java文件编译成class时需要)-->
    <fileset dir="${tomcat.home}/lib">
      <include name="*.jar"/>
    </fileset>
    <!--web工程一些放在%TOMCAT_HOME%/bin目录下的jar包(将jsp生成的java文件编译成class时需要)-->
    <fileset dir="${tomcat.home}/bin">
      <include name="*.jar"/>
    </fileset>
      </classpath>
      <include name="**" />
      <exclude name="tags/**" />
  </javac>
    </target>
 
 <target name="moveFromTo">
  <!--将jsp文件编译成的class文件移到tomcat服务器web应用目录下-->
  <copy todir="${tomcat.home}\webapps\jspweb\WEB-INF\classes">
   <fileset dir="${webapp.path}/WEB-INF/classes/"/>
  </copy>
    </target>
 
    <target name="cleanup">
  <delete>
   <fileset dir="${webapp.path}/WEB-INF/src"/>
   <fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/>
  </delete>
  <delete includeemptydirs="true">
   <fileset dir="${webapp.path}/WEB-INF/src" includes="**/*" defaultexcludes="false"/>
  </delete>
  <delete includeemptydirs="true">
   <fileset dir="${webapp.path}/WEB-INF/classes" includes="**/*" defaultexcludes="false"/>
   <!--将${webapp.path}/WEB-INF/classes目录下所有的文件目录全部清楚-->
  </delete>
    </target>
 
    <target name="all" >
  <antcall target="jspc" />
  <!--
  <antcall target="compileJsp" />
  <antcall target="moveFromTo" />
  <antcall target="cleanup" />-->
 </target>
 
 <!--CSDN博客中贴代码的方法:选择"源代码" -> 在你要粘贴的代码前后加上
     <textarea readonly="readonly" name="code" class="java"> </textarea>-->

</project>

 

 

原创粉丝点击