ant 全功能编译打包部署ftp启动服务的 build.xml

<project basedir="." default="usage" name="OADataExchage">
    <!--  初始化变量,可以在外面使用build.properties中定义 -->
    <target name="init">
        <property name="Name" value="OADataExchage" />
        <property name="name" value="OADataExchage" />
        <property name="version" value="0.1" />
        <property name="year" value="2009" />
        <echo message="----------- ${Name} ${version} [${year}] ------------" />

        <property name="debug" value="off" />
        <property name="optimize" value="on" />
        <property name="deprecation" value="on" />
        
        <!--设置FTP相关变量-->
        <property name="password" value="test" />
        <property name="userid" value="test" />
        <property name="remotedir" value="deployewar" />
        <property name="remotedirTemp" value="deployewar/temp" />
        <property name="server" value="10.101.7.136" />
        
        <!--   放置程式运行需要的jar档目录 -->
        <property name="build.lib" value="${basedir}/build/lib" />
        <!--   打包程式根目录 -->
        <property name="build.root" value="${basedir}/build" />
        <!--   java源文件路径 -->
        <property name="src.dir" value="${basedir}/src" />
        <!--   jar包路径 -->
        <property name="lib.dir" value="${basedir}/webapp/WEB-INF/lib" />
        <!--   工程webapp路径 -->
        <property name="webapp.dir" value="${basedir}/webapp" />
        <property name="packages" value="com.synnex.oa.*" />
        <!--   准备源文件路径 -->
        <property name="build.src" value="${basedir}/build/build" />
        <!--   放置编译好的classes的路径 -->
        <property name="build.classes" value="${basedir}/build/classes" />
        <!--   准备webapp文件路径 -->
        <property name="buildwar.dest" value="${basedir}/build/webapp" />
        <!--   准备javadoc文件路径 -->
        <property name="build.javadocs" value="${basedir}/build/docs" />
        <!--   打包jar文件路径 -->
        <property name="jar.dest" value="${basedir}/build/jarfile" />
        <!--   打包war文件路径 -->
        <property name="war.dest" value="${basedir}/build/warfile" />
        <!--   Jboss路径(你自己的Jboss本机路径) -->
        <property name="jboss.home" value="D:/JBoss" />
        <!--   weblogic路径(你自己的weblogic本机路径) -->
        <property name="weblogic.home" value="K:/bea/user_projects/domains/OA/autodeploy" />
        <!--   classpath -->
        <path id="classpath">
            <fileset dir="${lib.dir}">
                <include name="**/*.jar" />
            </fileset>
        </path>
        <filter token="year" value="${year}" />
        <filter token="version" value="${version}" />
        <filter token="date" value="${TODAY}" />
        <filter token="log" value="true" />
        <filter token="verbose" value="true" />
    </target>

    <!-- =================================================================== -->
    <!-- Help on usage -->
    <!-- =================================================================== -->
    <target name="usage" depends="init">
        <echo message="${Name} Build file" />
        <echo message="-------------------------------------------------------------" />
        <echo message="" />
        <echo message=" available targets are:" />
        <echo message="" />
        <echo message=" jar --> generates the ${name}.jar file" />
        <echo message=" build --> compiles the source code" />
        <echo message=" javadoc --> generates the API documentation" />
        <echo message=" clean --> cleans up the directory" />
        <echo message="" />
        <echo message=" Please rename build.properties.default to build.properties" />
        <echo message=" and edit build.properties to specify JSDK 2.3 classpath." />
        <echo message="" />
        <echo message=" See the comments inside the build.xml file for more details." />
        <echo message="-------------------------------------------------------------" />
        <echo message="" />
        <echo message="" />
    </target>

    <!-- =================================================================== -->
    <!-- 准备源文件-->
    <!-- =================================================================== -->
    <target name="prepare-src" depends="init">
        <!-- create directories -->
        <mkdir dir="${build.src}" />
        <mkdir dir="${jar.dest}" />
        <mkdir dir="${war.dest}" />
        <mkdir dir="${buildwar.dest}" />
        <mkdir dir="${build.lib}" />

        <!-- copy src files 首先从工程src目录下copy源码到bulid文件夹的build目录中,以备后面编译时获取源文件 -->
        <copy todir="${build.src}">
            <fileset dir="${src.dir}" />
        </copy>
        <!--将webapp下的文件全部copy到临时打包目录里面,jar包另外处理-->
        <copy todir="${buildwar.dest}">
            <fileset dir="${webapp.dir}">
                <exclude name="**/*.jar" />
            </fileset>
        </copy>
        <!-- 删除 build/webapp/WEB-INF/lib下面所有文件及目录,不包括lib目录 -->
        <delete includeemptydirs="true">
            <fileset dir="${buildwar.dest}/WEB-INF/lib" includes="**/*" />
        </delete>
        <!--copy 所有jar到 build/lib下,以备打war包用,只复制jar,不复制目录 -->
        <copy todir="${build.lib}" flatten="true">
            <fileset dir="${lib.dir}">
                <include name="**/*.jar" />
            </fileset>
        </copy>
        

    </target>

    <!-- =================================================================== -->
    <!-- 编译源文件 srcdir:源文件路径,destdir:编译好的classes放置的路径-->
    <!-- =================================================================== -->
    <target name="build" depends="prepare-src">
        <echo message="开始编译............."></echo>
        <javac srcdir="${build.src}" destdir="${buildwar.dest}/WEB-INF/classes" memorymaximumsize="500M" fork="true" encoding="UTF8" debug="${debug}" optimize="${optimize}">
            <classpath refid="classpath" />
        </javac>
        <copy todir="${build.classes}">
            <fileset dir="${buildwar.dest}/WEB-INF/classes" />
        </copy>
        <echo message="编译成功............."></echo>
    </target>

    <!-- =================================================================== -->
    <!-- 打war包 warfile:放置编译好的war包,-->
    <!-- =================================================================== -->

    <target name="buildwar" depends="build">
        <echo message="开始打包............."></echo>
        <war warfile="${war.dest}/OADataExchange.war" webxml="${buildwar.dest}/WEB-INF/web.xml">
            <!--
            <classes dir="${buildwar.dest}/WEB-INF/classes" />
            -->
            <lib dir="${build.lib}" />
            <fileset dir="${buildwar.dest}">
            </fileset>
        </war>
        <echo message="打包成功............."></echo>
    </target>

    <!-- =================================================================== -->
    <!-- 发布到本地Jboss和weblogic中里面-->
    <!-- =================================================================== -->

    <target name="publish" depends="buildwar">
        <!-- 将编译好的bulid/warfile中的war部署到Jboss和weblogic中-->
        <copy todir="${jboss.home}/server/default/deploy">
            <fileset dir="${war.dest}">
                <include name="**/*.war" />
            </fileset>
        </copy>
        <!--
        <copy todir="${weblogic.home}">
            <fileset dir="${war.dest}">
                <include name="**/*.war" />
            </fileset>
        </copy>
        -->
        <echo message="部署成功............."></echo>
    </target>
    <!-- 将打好的 war 包ftp到 server上-->
    <target name="ftp" depends="buildwar">
        <echo message="将OADataExchange.war 上传到 ${server}/${remotedir} "></echo>
        <ftp password="${password}" server="${server}" userid="${userid}" remotedir="${remotedir}">
            <fileset dir="${war.dest}">
                <include name="OADataExchange.war"/>
            </fileset>
        </ftp>
        <echo message="将OADataExchange.war 上传到 ${server}/${remotedirTemp} "></echo>
        <ftp password="${password}" server="${server}" userid="${userid}" remotedir="${remotedirTemp}">
            <fileset dir="${war.dest}">
                <include name="OADataExchange.war"/>
            </fileset>
        </ftp>
    </target>
    
    
    <!-- =================================================================== -->
    <!-- 产生javadoc api 文档-->
    <!-- =================================================================== -->
    <target name="javadoc" depends="build">
        <mkdir dir="${build.javadocs}" />
        <javadoc packagenames="${packages}" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${Name} API" doctitle="${Name}">
            <classpath refid="classpath" />
        </javadoc>
    </target>
    <!-- =================================================================== -->
    <!-- 清除临时文件(此处改写为删除bulid下所有文件和本地Jboss中部署的文件)-->
    <!-- =================================================================== -->
    <target name="clean" depends="init">
        <echo message="删除 ${build.root} 下临时目录"/>
        <delete dir="${build.root}/bin"/>
        <delete dir="${build.root}/build"/>
        <delete dir="${build.root}/jarfile"/>
        <delete dir="${build.root}/warfile"/>
        <delete dir="${build.root}/webapp"/>
        <delete dir="${build.root}/classes"/>
        <delete dir="${build.root}/lib"/>
        <echo message="删除 ${jboss.home}/server/default/deploy 部署文件" />
        <delete>
            <fileset dir="${jboss.home}/server/default/deploy" includes="OADataExchange.war" />
        </delete>    
        <echo message="删除 ${weblogic.home} 部署文件" />
        <!--
        <delete>
            <fileset dir="${weblogic.home}" includes="OADataExchange.war" />
        </delete>
        -->
        <echo message=".............................." />
        <echo message=".............................." />
        <echo message=".............................." />
    </target>
    <!-- 启动JBoss服务器 dir="D:/JBoss/bin"-->
    <property name="JAVA_HOME" value="C:/Java/jdk1.6.0_15"></property>
    <path id="jboss_classpath">
     <pathelement location="${JAVA_HOME}/lib/tools.jar"/>
     <pathelement location="D:/JBoss/bin/run.jar"/>
    </path>
    <target name="startjboss">
     <java
        fork="true"
        jar="D:/JBoss/bin/run.jar">  
        <classpath refid="jboss_classpath"/>
         <!--
           <arg value="-c vtba"/>
           -->
     </java>
    </target>
    
</project>

你可能感兴趣的:(weblogic,ant,jboss,delete,javadoc,include)