`
sambafeng
  • 浏览: 61635 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ANT发布应用的框架

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

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>
分享到:
评论

相关推荐

    Reactant:Reactant是适用于iOS的React式架构

    React物 Reactant是实现快速安全的iOS开发的基础。 它使您可以通过提高代码(尤其是UI)的可重用性,可... 我们也在Reactant之上构建应用程序,我们绝对讨厌任何重大更改。 s Tadeas Kriz, Matous Hybl, FilipDol

    ruoyi_ant_design_pro:若依Vue SpringBoot版本的Ant Design Pro前端(本前端在不修改默认二进制情况下进行,完全可以直接下载前端与若依本机运行服务)

    预览: : 主页: : 文档: : 变更日志: : 常见问题解答: : 中国镜像网站: : 4.0现在发布! :party_popper: :party_popper: :party_popper: 翻译招聘 :loudspeaker: 我们需要您的帮助: : 特征 :light_bulb: ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    该案例既提供了ide无关的、基于ant管理的项目源码,也提供了基于netbeans ide的项目源码,最大限度地满足读者的需求。 作者简介: 李刚,从事10年的Java EE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的...

    OPhone应用开发权威指南(黄晓庆)

    1.1.5 应用程序框架 4 1.1.6 应用程序 5 1.2 开发OPhone应用程序 5 1.2.1 开发语言 5 1.2.2 OPhone SDK 5 1.2.3 OPhone开发者社区 6 1.3 将OPhone应用上传到Mobile Market 7 1.3.1 Mobile Market的商业模式 7 1.3.2 ...

    iuhyiuhkjh908u0980

    看看现存的Java web应用程序框架,无一例外的要求花费大量的时间与精力后才可投入生产。对于大多数开发人员来说想要的东西很简单:友好,易于学习并且还具有生产力。因此我们开发了JSPX。 JSPX的主要目标就是打造...

    xdoclet-bin-1.2.1.zip

     XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的... 展开XDoclet的发布包,samples目录下有直接可以运行的ant脚本文件。

    xdoclet-base-locale-1.2.1.jar

     XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的... 展开XDoclet的发布包,samples目录下有直接可以运行的ant脚本文件。

    jeecgboot-learning:学习jeecgboot框架

    JEECG BOOT低代码开发平台(前细分分离版本)当前最新版本:2.2.1(发布日期:2020-07-13)项目介绍:适用于企业Web应用程序的Java Low Code Platform JeecgBoot是一种基于代码生成器的低代码开发平台,零代码开发!...

    Redux-Quick-Start-Guide:Redux快速入门指南,由Packt发布

    这是Packt发布的的代码库。 Redux管理应用程序状态的初学者指南 这本书是关于什么的? 从Redux的详细概述开始,我们将遵循测试驱动开发(TDD)方法来开发单页应用程序。 我们将设置JEST进行测试,并使用JEST测试...

    NG-ZORRO 管理面板前端框架(浪涌镜像 https://ng-alain-doc.surge.sh)

    NG-ALAIN 企业应用开箱即用的UI解决方案,让开发者专注于业务。 英文 | 简体中文 Quickstart Getting Started Links Document (Surge Mirror) @delon Source DEMO (国内镜像) Features ng-zorro-antd based ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    4.4.2 创建和发布Servlet应用程序 4.5 小结 第五章 Eclipse使用指南 5.1 Eclipse简介 5.1.1 Eclipse的历史 5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    4.4.2 创建和发布Servlet应用程序 4.5 小结 第五章 Eclipse使用指南 5.1 Eclipse简介 5.1.1 Eclipse的历史 5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合...

    java笔试题目-citrus:专注于消息传递集成的自动化集成测试框架

    应用程序创建完全自动化的端到端用例测试。 Citrus 模拟周围的接口合作伙伴,支持大量不同的传输和协议,如 Http、JMS、TCP/IP、FTP、SOAP、XML 和 JSON。 请访问我们的官方网站 '' 了解更多信息和详细文档。 先决...

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    网站架构技术

    分布式服务框架设计 可扩展的数据结构 利用开放平台建设网站生态圈 固若金汤:网站的安全架构 网站应用攻击与防御 XSS攻击 反射型 持久型 防御方法 消毒 httponly 注入攻击 SQL注入...

    zxing.java源码解析-java-extend:Java扩展

    zxing.java源码解析Awesome Java 感谢对内容的整理 精选的 Java 框架、库和软件的精选列表。 灵感来自其他 . 构建工具 处理应用程序构建周期的工具。...支持持续构建、测试和发布应用程序的工具。 - A

    ng-alain:NG-ZORRO管理面板前端框架(浪涌镜像https:ng-alain-doc.surge.sh)

    是基于Ant Design开发的设计原则构建的,适用于管理业务组件包的生产就绪型解决方案。 应用截图 贡献 我们欢迎所有贡献。 请先阅读我们的 。 您可以提交任何想法作为或。 如果您不熟悉发布问题,我们要求您阅读...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    4.4.2 创建和发布Servlet应用程序 4.5 小结 第五章 Eclipse使用指南 5.1 Eclipse简介 5.1.1 Eclipse的历史 5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    4.4.2 创建和发布Servlet应用程序 4.5 小结 第五章 Eclipse使用指南 5.1 Eclipse简介 5.1.1 Eclipse的历史 5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合...

    flex3的cookbook书籍完整版dpf(包含目录)

    创建应用FlexUnit框架的应用程序 24.2节. 运行FlexUnit单元测试 24.3节. 创建FlexUnit测试用例 24.4节. 添加测试用例到测试集合 24.5节. 在测试前后运行代码 24.6节. 测试用例之间共享测试数据 24.7节. 处理测试...

Global site tag (gtag.js) - Google Analytics