ant模板

< ? xml version = "1.0"  ?>
< project name= "tax-calculator" default= "package" >
    < property name= "src.dir" location= "src" / >
    < property name= "build.dir" location= "build" / >
    < property name= "tests.dir" location= "test" / >
    < property name= "build.classes.dir" location= "${build.dir}/classes" / >
    < property name= "test.classes.dir" location= "${build.dir}/test-classes" / >
    < property name= "reports.dir" location= "reports" / >
    < property name= "lib" location= "lib" / >
    < !--保存项目需要的jar-->
    < property name= "reports.javadoc" location= "reports/javadoc" / >
    < property name= "reports.data.dir" location= "${reports.dir}/xml" / >
   
    < property name= "reports.html.dir" location= "reports/html" / >
    < property name= "project.name" value= "${ant.project.name}" / >
    < property name= "project.version" value= "1.0" / >
    < property name= "tomcat.install.dir" location= "E:/jdk/apache-tomcat-6.0.16" / >
    < property name= "web.dir" location= "web" / >
    < property name= "dist.dir" location= "dist" / >
    < path id= "compile.classpath" >
        < fileset dir= "${lib}" includes= "*.jar" / >
    < / path>
    < path id= "test.compile.classpath" >
        < path refid= "compile.classpath" / >
        < pathelement location= "${build.classes.dir}" / >
    < / path>
    < path id= "test.classpath" >
        < path refid= "test.compile.classpath" / >
        < pathelement path= "${test.classes.dir}" / >
    < / path>
    < !--初始化-->
    < target name= "init" >
        < mkdir dir= "${build.classes.dir}" / >
        < mkdir dir= "${test.classes.dir}" / >
        < mkdir dir= "${dist.dir}" / >
        < mkdir dir= "${reports.data.dir}" / >
        < mkdir dir= "${reports.html.dir}" / >
        < mkdir dir= "${reports.javadoc}" / >
    < / target>
    < target name= "compile" depends= "init" description= "Compile Java code" >
        < javac srcdir= "${src.dir}"
               destdir= "${build.classes.dir}"
               classpathref= "compile.classpath" / >
    < / target>
    < target name= "compile-tests" depends= "compile" description= "Compile Unit Tests" >
        < javac srcdir= "${tests.dir}"
               destdir= "${test.classes.dir}" >
            < classpath refid= "test.compile.classpath" / >
        < / javac>
    < / target>
    < target name= "test" depends= "compile-tests" description= "Run unit tests" >
        < junit printsummary= "true" haltonfailure= "false" failureproperty= "test.failures" fork= "true" >
            < assertions>
                < enable package= "ynu.edu" / >
            < / assertions>
            < classpath refid= "test.classpath" / >
            < formatter type= "xml" / >
            < formatter type= "plain" / >
            < batchtest todir= "${reports.data.dir}" > < !--reports保存的目录-->
                < fileset dir= "${test.classes.dir}" includes= "**/*Test.class" / >
            < / batchtest>
            < !--< test name= "com.ynu.edu.TaxRateTest" / > - - >
        < / junit>
    < / target>
    < target name= "test.report" depends= "test" description= "Generate HTML unit
    test reports" >
    < junitreport todir= "${reports.data.dir}" >
    < fileset dir= "${reports.data.dir}" >
    < include name= "TEST-*.xml" / >
    < / fileset>
    < report format= "frames" todir= "${reports.html.dir}" / >
    < / junitreport>
    < / target>
    < target name= "test.report" depends= "test"
            description= "Generate HTML unit test reports" >
        < junitreport todir= "${reports.data.dir}" >
            < fileset dir= "${reports.data.dir}" >
                < include name= "TEST-*.xml" / >
            < / fileset>
            < report format= "noframes" todir= "${reports.html.dir}" / >
        < / junitreport>
        < fail if= "test.failures" message= "There were test failures." / >
    < / target>

    < target name= "javadoc" depends= "compile,init" description= "Generate JavaDocs." >
        < javadoc sourcepath= "${src.dir}"
                 destdir= "${reports.javadoc}"
                 author= "true"
                 version = "true"
                 use= "true"
                 access= "private"
                 linksource= "true"
                 windowtitle= "${ant.project.name} API" >
            < classpath>
                < path refid= "compile.classpath" / >
                < pathelement path= "${build.classes.dir}" / >
            < / classpath>
            < doctitle> < ![ CDATA[ < h1> $ { ant. project. name} < / h1> ] ] > < / doctitle>
            < bottom> < ![ CDATA[ < i> Copyright & # 169; 2007 All Rights Reserved.
            < / i> ] ] > < / bottom>
        < / javadoc>
    < / target>
    < target name= "package" depends= "compile" description= "Generate JAR file" >
    < jar destfile= "${dist.dir}/${project.name}-${project.version}.jar" basedir=
    "${build.classes.dir}" / > 

    从多个源文件获得
    < jar destfile= "${dist.dir}/${project.name}-${project.version}.jar" >
    < fileset dir= "${build.classes.dir}" / >
    < fileset dir= "src/resources" / >
    < / jar>
    < / target>
    < !--向MANIFEST. MF添加一些关于项目的信息,如时间,作者,版本-->
    < target name= "package" depends= "compile" description= "Generate JAR file" >
        < tstamp>
            < format property= "build.date" pattern= "EEEE, d MMMM yyyy" / >
            < format property= "build.time" pattern= "hh:mm a" / >
        < / tstamp>
        < jar destfile= "${dist.dir}/${project.name}-${project.version}.jar"
             basedir= "${build.classes.dir}" >
            < manifest>
                < attribute name= "Built-By" value= "${user.name}" / >
                < attribute name= "Specification-Title" value= "${project.name}" / >
                < attribute name= "Specification-Version" value= "${project.version}" / >
                < attribute name= "Specification-Vendor" value= "ACME Incorporated" / >
                < attribute name= "Implementation-Title" value= "common" / >
                < attribute name= "Implementation-Version" value= "${project.version}
                     - built at ${build.time} on ${build.date} " / >
                < attribute name= "Implementation-Vendor" value= "ACME Incorporated" / >
            < / manifest>
        < / jar>
    < / target>
    < !--产生WEB的war文件, 对于修改MANIFEST. MF与产生jar相似-->
    < target name= "war" depends= "compile" description= "Generate WAR file" >
        < war destfile= "${dist.dir}/${project.name}-${project.version}.war"
             webxml= "${web.dir}/WEB-INF/web.xml" >
            < fileset dir= "${web.dir}" / >
            < classes dir= "${build.classes.dir}" / >
            < lib dir= "${lib}" >
                < include name= "*.jar" / >
            < / lib>
        < / war>
    < / target>
    < !--对于ear(EJB) 的处理 -->
    < target name= "ear" depends= "war" description= "Generate EAR file" >
        < ear destfile= "${dist.dir}/${project.name}-${project.version}.ear"
             appxml= "src/metadata/application.xml" >
            < fileset file= "${dist.dir}/${project.name}-${project.version}.war" / >
            < fileset dir= "${ear.lib}" >
                < include name= "*.jar" / >
            < / fileset>
        < / ear>
    < / target>
    < !--web应用war文件的部署-->
    < target name= "local.deploy" depends= "war" description= "Deploy to local
    Tomcat instance" >
        < copy file= "${dist.dir}/${project.name}-${project.version}.war"
              todir= "${tomcat.install.dir}/webapps" / >
    < / target>
    < !--对于war文件的重命名-->
    < target name= "local.deploy" depends= "war" description= "Deploy to local
    Tomcat instance" >
    < copy file= "${dist.dir}/${project.name}-${project.version}.war"
    tofile= "${tomcat.install.dir}/webapps/${project.name}.war" / >
    < / target>
    < !--复制一个目录下的所有文件-->
    < target name= "local.documentation" depends= "javadoc"
            description= "Deploy documentation to local web server" >
        < copy todir= "${web.dir}/${project.name}/javadoc" >
            < fileset dir= "${reports.javadoc}" / >
        < / copy >
    < / target>
< / project>

你可能感兴趣的:(tomcat,Web,xml,ant,JUnit)