zoukankan      html  css  js  c++  java
  • ant脚本编写

    使用ant脚本前的准备

    1、下载一个ant安装包。如:apache-ant-1.8.4-bin.zip。解压到E盘。

    2、配置环境变量。新增ANT_HOME:E:apache-ant-1.8.4;PATH增加:E:apache-ant-1.8.4in。

    3、检查ant是否配置完成。运行->cmd输入:ant -version。查看是否打印ant的版本号。

    打包的实质

    生成jar包的实质

    1、编译工程src文件夹下的Java文件,生成相应的class文件。

    2、将所有的class文件集合成jar包。

    生成war包的实质

    1、编译工程src文件夹下的java文件,生成相应的class文件。

    2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下。

    3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下。

    4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包。

    一个生成war包的ant脚本代码

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- 定义一个工程,默认任务为warFile。 -->
    <project name="Visit" default="warFile" basedir=".">
        
        <!-- 定义属性,打成war包的名称。 -->
        <property name="warFileName" value="VisitFiles.war"></property>
        
        <!-- 定义路径,编译java文件时用到的jar包。 -->
        <path id="project.lib">
            <fileset dir="${basedir}/WebContent/WEB-INF/lib">
                <include name="**/*.jar"/>
            </fileset>
        </path>
        
        <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
        <target name="clean">
            <delete dir="${basedir}/build" />
            <mkdir dir="${basedir}/build" />
        </target>
        
        <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
        <target name="compile" depends="clean">
            <javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false">
                <classpath refid="project.lib">
                </classpath>
            </javac>
        </target>
        
        <!-- 定义默认任务,将class文件集合成jar包。 -->
        <target name="warFile" depends="compile">
            <!-- 删除原有war包。 -->
            <delete dir="${basedir}/${warFileName}" />
            <!-- 建立新war包。 -->
            <war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
                <!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
                <fileset dir="${basedir}/WebContent">
                    <include name="**/**.*" />
                    <exclude name="**/*.jar"/>
                    <exclude name="**/*.class"/>
                </fileset>
                <!-- 将jar和class文件拷贝到war包的对应路径下。 -->
                <lib dir="${basedir}/WebContent/WEB-INF/lib" />
                <classes dir="${basedir}/build" />
            </war>
        </target>
        
    </project>

     另一个例子:

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="gsApi" basedir="." default="afterClean">
        <description>gsApi</description>
        <tstamp prefix="start">
            <format property="timestamp" pattern="yyyy_MM_dd" />
            <format property="vsstimestamp" pattern="yyyy_MM_dd_hh_mm" />
        </tstamp>
        <property name="projectName" value="gsApi"></property>
        <property name="src" value="../" />
        <property name="debugging" value="on" />
        <property name="classes" value="WEB-INF/classes">
        </property>
        <property name="lib" value="WEB-INF/lib"></property>
        <property name="config" value="../resources" />
    
        
        <property name="srcDir" value="./webapp"></property>
        
    
        <target name="init">
            <tstamp>
                <format property="build.time" pattern="yyyy-MM-dd HH:mm:ss aa" />
            </tstamp>
            <echo message="build time : ${build.time}" />
        </target>
    
        <target name="clean" depends="init">
            <delete dir="${classes}" />
        </target>
    
        <target name="prepare" depends="clean">
            <mkdir dir="${classes}" />
            <copy todir="${classes}">
                 <fileset dir="${config}">
                     <include name="**/*.*" />
                 </fileset>
             </copy>
        </target>
        
    
        <target name="compile" depends="prepare">
            <javac srcdir="${src}" destdir="${classes}" debug="true" includeantruntime="false" debuglevel="lines,vars,source" encoding="UTF-8" fork="true" memoryMaximumSize="512m">
                <classpath>
                    <fileset dir="${lib}">
                        <include name="**/*.jar" />
                    </fileset>
                </classpath>
                <compilerarg line="-XDignore.symbol.file"/>
            </javac>
        </target>
        
        
        <target name="mkwar" depends="compile">
            <war destfile="../../../target/${projectName}.war" webxml="${basedir}/WEB-INF/web.xml">
                <fileset dir="${basedir}/">
                    <include name="**/*.*" />
                </fileset>
            </war>
        </target>
        
        
        <target name="afterClean" depends="mkwar">
        </target>
        
    </project>
  • 相关阅读:
    浅谈 java 比较器
    浅谈lambda表达式
    使用DateLocaleConverter和SimpleDateFormat实现字符串转换成日期
    myeclipse中运行tomcat报错java.lang.NoClassDefFoundError
    《谁说菜鸟不会数据分析》读书笔记(1)
    撰写报告要点
    分析报告_问题界定篇
    数据分析报告
    kaggle入门之Titanic生存预测
    pandas基础
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/5872706.html
Copyright © 2011-2022 走看看