`
yangzb
  • 浏览: 3491417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ANT发布应用的框架

    博客分类:
  • CI
阅读更多

应用的开发如有一个好的结构,给程序的开发及发布带来便捷,一点总结:

1、文件夹的结构:
ant.properties  :存放每个业务模块的ant打包属性文件。
              IHC0100.properties
Build         :存放打包后的文件,ant打包时会自动生成。
              build.xml
              createJar.bat
              deploy.bat
Doc          :生成的doc文件。
js           :存放jsp的js文件。
jsp          :存放jsp文件。
src          :存放程序的原文件。
CSS          :存放jsp的css文件。
deploy        :打包用的build文件。
ear          :打包时用的配置文件,包括application.xml及manifest文件。
jar          :打包时用的配置文件,包括EJB的配置文件。
war          :打包时用的配置文件,包括web.xml及manifest文件。
WEB-INF     :打包时用的配置文件。

2、IHC0100.properties的文件内容:
    subroot=IHC

3、createJar.bat的文件内容:
    @echo off

    REM No.1  1.1  Test1 (IHC0100)
    REM echo IHC0100.jar Creating....
    call ant jar -Did=IHC0100

    REM No.2  1.2  test2 (IHC0200)
    REM echo IPAN0200.jar Creating....
    REM call ant jar -Did=IPAN0200

4、deploy.bat的文件内容:
    @echo off

    echo The application is uninstalled from WAS丅
    call %WAS_HOME%\bin\wsadmin -conntype none -c "$AdminApp uninstall %2"

    echo The application is installed in WAS丅
    call %WAS_HOME%\bin\wsadmin -conntype none -c "$AdminApp install %1%2.ear {-usedefaultbindings -defaultbinding.ejbjndi.prefix %2 -defaultbinding.force -useMetaDataFromBinary -deployejb -deployejb.dbtype ORACLE_V9I -server APP_SERVER}"

5、build.xml的文件内容:
<project name="MyProject" default="ear" basedir=".">
    <description>
        QGBIHC example build file
    </description>
    <!--Mayby should change the following property -->
    <property name="sourceDir"      value="F:/workspace/ihc/test"/>
    <property name="appname"        value="test"/>
  
    <!--Gobal property -->
    <property name="src"            value="${sourceDir}/src"/>
    <property name="doc"           value="${sourceDir}/doc"/>
    <property name="build"          value="${sourceDir}/build"/>
    <property name="weblib"        value="${sourceDir}/WEB-INF/lib"/>
    <property name="classes"      value="${sourceDir}/WEB-INF/classes"/>
    <property name="dist"           value="dist"/>
  
    <property environment="env"/>
    <property name="WAS"          value="${env.WAS_HOME}"/>
  
    <property file="${sourceDir}/ant.properties/${id}.properties"/>
  
    <target name="init">
        <!-- Create the time stamp -->
        <tstamp/>
        <mkdir dir="${build}"/>
        <mkdir dir="${classes}"/>
    </target>

    <target name="compile" depends="init" >
        <echo message="${id} Compile"/>
        <javac srcdir="${src}"
             destdir="${classes}"
             classpath="${classes};
                      ${weblib}/struts.jar;
                      ${weblib}/poi.jar;
                      ${weblib}/xercesImpl.jar;
                      ${weblib}/xmlParserAPIs.jar;
                      ${weblib}/classes12.jar;
                      ${WAS}/lib/j2ee.jar;
                      "
            debug="on"
            optimize="on"
            deprecation="on">
            <include name="org/**/*.java"/>
        </javac>
    </target>

    <!-- Jar-file Make -->
    <target name="jar" depends="compile">
        <mkdir dir="${build}"/>
        <jar jarfile="${build}/${id}.jar" compress="yes"
            manifest="${sourceDir}/Jar/test/${subroot}/${id}/EJB/META-INF/${id}.mf">
            <metainf dir="${sourceDir}/Jar/test/${subroot}/${id}/EJB/META-INF">
                <include name="*.xml"/>
            </metainf>
            <fileset dir="${classes}/"
                  includes="org/ihc/test/${subroot}/${id}/**/*.class"
                  excludes="org/ihc/test/${subroot}/${id}/excel/**
                           ,org/ihc/test/${subroot}/${id}/framework/**
                           ,org/ihc/test/${subroot}/${id}/pdf/**
                           ,org/ihc/test/${subroot}/${id}/taglib/**"/>
        </jar>
    </target>
  
    <!-- All Jar-file Make -->
    <target name="jar_project">
        <exec executable="cmd.exe">
            <arg line= "/C createjar.bat"/>
        </exec>
    </target>
  
    <!--  War-file Make -->
    <target name="war" depends="jar_project">
        <war warfile="${build}/${appname}.war"
            webxml="${sourceDir}/War/test/test/WEB-INF/web.xml"
            manifest="${sourceDir}/War/test/test/META-INF/${appname}.mf">
            <fileset dir="${sourceDir}/">
            <include name="CSS/*.css"/>
            <include name="image/*.*"/>
            <include name="js/*.js"/>
            <include name="jsp/*.html"/>
            <include name="jsp/test/**/*.jsp"/>
            <include name="jsp/test/**/*.js"/>
            <include name="jsp/test/**/*.css"/>
            <include name="WEB-INF/*.tld"/>
            <include name="WEB-INF/*.xml"/>
            <include name="WEB-INF/*.dtd"/>
            <exclude name="WEB-INF/web.xml"/>
        </fileset>
        <zipfileset dir="${classes}"
            includes="org/ihc/test/**/excel/**/*.class
                      ,org/ihc/test/**/framework/**/*.class
                      ,org/ihc/test/**/taglib/**/*.class" prefix="WEB-INF/classes"/>
        <zipfileset dir="${weblib}/"
             includes="struts.jar
                      ,classes12.jar
                      ,modelism.jar
                      ,xercesImpl.jar,
                      ,xmlParserAPIs.jar,
                      ,poi.jar" prefix="WEB-INF/lib"/>
        </war>
    </target>
  
    <!--  Ear-file Make -->
    <target name="ear" depends="war">
        <ear earfile="${build}/${appname}.ear"
            appxml="${sourceDir}/Ear/test/test/META-INF/application.xml"
            manifest="${sourceDir}/Ear/test/test/META-INF/${appname}.mf"
            update="yes">
            <fileset dir="${build}/"
                    includes="*.jar
                    ,*.war"/>
        </ear>
    </target>
  
    <!-- Application Install -->
    <target name="deploy" depends="ear">
        <copy todir="${WAS}/installableApps" file ="${build}/${appname}.ear" />
        <exec executable="cmd.exe">
            <arg line= "/C deploy.bat"/>
            <arg value= "${build}/"/>
            <arg value= "${appname}"/>
        </exec>
    </target>

    <target name="clean"
        description="clean up" >
        <delete>
            <fileset dir="${build}" includes="*.jar, *.war, *.ear"/>
        </delete>
        <delete dir="${doc}"/>
    </target>

    <target name="doc">
        <mkdir dir="${doc}"/>
        <javadoc destdir="${doc}"
                   author="true"
                   version="true"
                   use="true"
                   sourcepath="${src}"
                   packagenames="org.ihc.test.*"
                 >
            <doctitle><![CDATA[<h1>${appname}</h1>]]></doctitle>
            <bottom><![CDATA[<i>Copyright &#169; 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
            <tag name="todo" scope="all" description="To do:" />
            <group title="IPAN Packages" packages="org.ihc.test.IPAN.*"/>
            <group title="MENT Packages" packages="org.ihc.test.MENT.*"/>
        </javadoc>
    </target>
    
    <target name="help">
        <echo>
      -- Necessary Environment Variable--
      WAS_HOME         : WebSphere Application Server's DIR

      -- For function unit (each function ID)--
      ant jar  -Did=[function ID]   : Make jar-file

      -- For the whole --
      ant compile      : Compile java-file
      ant war          : Make war-file
      ant ear          : Make ear-file
      ant deploy       : Make and deploy Application  
      ant doc          : Make javadoc
      
      ant clean        : Clear class/jar/war/ear
      ant help         : Help message
        </echo>
    </target>

</project>

分享到:
评论

相关推荐

    Ant design axure设计库

    "library.ant.design_Web_3.0.rplib"是该Ant Design Axure设计库的文件名,其中"3.0"可能表示这是Ant Design框架的第三个主要版本,"Web"则强调这是针对Web应用的设计库,".rplib"则是Axure中的库文件扩展名,用于...

    Ant权威指南(ant 学习)

    Ant支持自动部署应用程序到远程服务器,如`ftp`、`scp`任务可以用于文件传输,`deploy`任务可用于发布Web应用。 十二、测试集成 Ant与JUnit和其他测试框架良好集成,可以方便地执行单元测试,并生成测试报告。 ...

    AntDesign3.9.x.zip

    Ant Design,源自阿里巴巴,是一个用于Web应用界面的React UI设计框架。它遵循“移动优先”的设计理念,提供了一套完整的、响应式的界面设计语言,使得开发者能够快速构建出美观且一致的用户界面。而在Axure中,Ant ...

    ant-1.8.0 apache-ant-1.8.0

    9. **发布与部署**:Ant可以用于应用的打包、发布和部署,包括生成JAR、WAR或EAR文件,以及将这些文件部署到远程服务器上。 10. **依赖分析**:在Ant 1.8.0中,依赖分析能力得到提升,有助于优化构建顺序,减少不必...

    ant 1.6工具下载

    在实际应用中,Ant 1.6可以与JUnit等测试框架集成,实现自动化测试。同时,它也可以与Maven或Gradle等现代构建工具协同工作,尽管Maven后来成为了更主流的选择,但Ant因其简洁性和定制性仍然在一些项目中得到应用。 ...

    Ant Design Library 3.0 一套精美得像视觉稿的 Axure 组件库

    在实际应用中,Ant Design Library 3.0能够帮助团队保持设计规范,减少沟通成本。当所有成员都在同一套组件库下工作时,设计方案的一致性和可维护性将得到显著提升。同时,由于组件库与Ant Design Web框架的紧密联系...

    Ant教程Ant教程Ant教程Ant教程

    JUnit是Java的一个单元测试框架,常常与Ant配合使用,通过Ant的JUnit任务来执行测试并生成测试报告。 标签提到了"Ant教程",这意味着内容可能涵盖了从Ant的安装到高级特性的使用,包括如何编写build文件,如何管理...

    ant.rar java的架包ant

    Ant是Java开发领域中的一款强大且广泛应用的构建工具,它由Apache软件基金会开发并维护。Ant以其XML为基础的构建文件(build.xml)著称,该文件定义了项目的构建过程,包括编译、打包、测试等任务。在Java项目开发中...

    AntDesign3.0.x_Axure_20171026

    这个压缩包很可能是2017年10月26日发布的一个更新版本,包含了一些适用于AntDesign 3.0.x版本的Axure组件库。 AntDesign,全称为Ant Design,是基于“确定”和“自然”的设计理念,提供了一套模块化的解决方案,...

    Android Ant 开发入门教程

    为了能够高效地开发出高质量的应用程序,开发者们常常会选择使用不同的工具和框架来加速开发流程。本教程将介绍如何利用 Apache Ant 来搭建 Android 开发环境,并通过一个简单的 HelloWorld 示例来展示其基本用法。 ...

    J2EE开发之ant开发工具

    5. **部署**:Ant可以通过`copy`或`ftp`任务将应用部署到远程服务器,简化了发布流程。 6. **依赖管理**:虽然Ant自身不提供复杂的依赖管理功能,但可以通过与 Ivy 或 Maven 结合,解决项目依赖库的下载和管理问题...

    Java Development with Ant.pdf

    - Ant的主要功能与应用场景 - Ant与构建自动化的重要性 2. **Ant入门指南** - 安装与配置Ant - 创建第一个Ant脚本 - 常用构建任务介绍 3. **理解Ant数据类型与属性** - 数据类型的定义与使用 - 属性的作用...

    ant简介

    4. **部署**:发布应用到服务器,如Tomcat、WebLogic等。 5. **清理**:清除编译过程中产生的临时文件和目录。 6. **依赖管理**:管理项目的依赖库,包括下载和更新库文件。 7. **文件操作**:复制、移动、删除文件...

    apache-ant-1.9

    Apache Ant 1.9系列在2013年发布,包含了多个小版本更新,例如1.9.11是该系列的一个维护版本,旨在修复已知问题并提供一些改进。 在描述中提到,用户在使用Qt开发Android应用时遇到了问题,发现"apache-ant-1.9...

    ant-launcher-1.8.1.jar.zip

    Ant Launcher是Ant框架的一部分,主要负责启动Ant任务。它不包含Ant的全部功能,而是作为一个轻量级的入口,用于执行Ant脚本。这个启动器允许开发者通过命令行或者集成开发环境(IDE)调用Ant来构建项目,而无需完整...

    org.apache.ant_1.7.1.v20100518-1145.zip

    这个压缩包“org.apache.ant_1.7.1.v20100518-1145.zip”包含了Apache Ant 1.7.1版本的所有组件,这个版本发布于2010年5月18日,版本标识为1145。Ant是基于XML的,其设计目标是驱动构建过程,允许开发者编写可重复...

    使用Ant编译打包

    - **可扩展性**:Ant允许开发人员定义自己的任务,可以集成其他工具和框架。 总的来说,Ant是Java开发中不可或缺的工具,它简化了项目的构建流程,使开发者能更专注于代码开发,而不是繁琐的构建工作。尽管现代的...

    Apache-ANT完美详解

    - **部署**:发布应用程序到远程服务器或应用服务器。 - **清理**:清除构建过程中产生的临时文件和目录。 - **文件操作**:包括复制、移动、删除和重命名文件或目录。 3. **Ant的配置** - **环境设置**:确保...

    SpringMVC 多版本接口/IP访问控制/ANT打包发布到LINUX

    在IT行业中,SpringMVC作为一个强大的Java Web框架,被广泛应用于构建RESTful API服务。本教程将探讨如何在SpringMVC中实现多版本接口管理、IP访问控制以及使用ANT工具进行打包并部署到Linux服务器。 首先,让我们...

Global site tag (gtag.js) - Google Analytics