zoukankan      html  css  js  c++  java
  • 脚本自动化 ant

    用ant,shell下也可以用make。

    1,ant 是一个自动化编译工具,安装使用。

    2,编写build.xml,核心,写明进行哪些操作,删,建,编译,javac,java等,从例子可以看出每个操作都有固定格式,各种语言都有自己的包,下载安装,即可调用对应的api(按格式添加对应参数,执行即可)。各个函数具体内容需要查询使用。

    举例如下:

    <project name="BE" default="jar" basedir=".">

            <property file="build.properties" />#参数文件

            <!-- Global properties for this build -->
            <property name="jar.name" value="BE" />
            <property name="version" value="SNAPSHOT" />
            <property name="package.name" value="${jar.name}-${version}" />
            <property name="java.debug" value="true" />

            <!-- Directories -->
            < ="build.dir" location="build" />
            <property name="build.cache.dir" location="${build.dir}/cache" />
            <property name="javadoc.dir" location="javadoc" />
            <property name="classes.dir" location="${build.dir}/classes" />
            <property name="dist.dir" location="dist" />
            <property name="dist.java.dir" location="${dist.jar}/java" />

            <property name="jar.file" location="${build.dir}/${jar.name}.jar" />
            <property name="lib.dir" location="${basedir}/lib" />
            <property name="genjar.file" location="${build.dir}/${genjar.name}.jar" />

            <property name="src.dir" location="src" />
            <property name="src.java.dir" location="${src.dir}/java" />

            <target name="init">#建
                    <tstamp />
                    <!-- Create the build directory structure used by compile -->
                    <mkdir dir="${build.dir}" />
                    <mkdir dir="${classes.dir}" />
            </target>

            <macrodef name="compile-source">#javac
                    <sequential>
                            <!-- Compile the java code from ${src.java} into ${build} -->
                            <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="${java.debug}" debuglevel="lines,vars,source">
                                    <classpath>
                                            <fileset dir="./lib">
                                                    <include name="**/*.jar" />
                                            </fileset>
                                    </classpath>
                            </javac>
                    </sequential>
            </macrodef>

            <target name="jar" depends="compile">#jar命令
                    <delete file="${jar.file}" />

                    <jar jarfile="${jar.file}">
                            <fileset dir="${classes.dir}" />
                            <fileset dir=".">
                                    <include name="lib/*.jar" />
                            </fileset>
                    </jar>
            </target>


            <target name="jar-all" depends="jar">
            </target>

            <target name="compile" depends="init" description="compile the source">
                    <compile-source />
            </target>


            <target name="clean" description="clean up">
                    <!-- Delete the ${build} and ${dist} directory trees -->
                    <delete dir="${build.dir}" />
                    <delete dir="${classes.dir}" />
                    <delete dir="${dist.dir}" />
            </target>

    </project>

    property 指定变量,如路径名,可以直接使用

    target 就一个具体的操作,具有独立性,可以依赖另一个depends。具体命令的格式基本一致,主要是参数需要查询后指定。

    整体上构成一个project。

    运行命令:ant ,后面指定参数如 ant clean ,指定执行target clean 。没有会执行开头default指定的 target:jar。

    运行后,ant自动寻找当前目录的build.xml文件。根据其内容,执行相关操作,删除,编译,执行,产生目录,生成文件,完成部署

  • 相关阅读:
    c#图像处理
    事件机制(复习)
    .net控件Control透明
    什么东西
    btn控件
    Tao 1.2.0图形框架发布
    java 泛型的类型擦除与桥方法
    来博客园的第一篇博文
    fastjson @JSONField
    java文件编译后,出现xx$1.class的原因
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205565.html
Copyright © 2011-2022 走看看