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>
  • 相关阅读:
    PHP实现无限极分类
    html2canvas生成并下载图片
    一次线上问题引发的过程回顾和思考,以更换两台服务器结束
    Intellij IDEA启动项目报Command line is too long. Shorten command line for XXXApplication or also for
    mq 消费消息 与发送消息传参问题
    idea 创建不了 java 文件
    Java switch 中如何使用枚举?
    Collections排序
    在idea 设置 git 的用户名
    mongodb添加字段和创建自增主键
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/5872706.html
Copyright © 2011-2022 走看看