Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學(xué);靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks

          首先,假設(shè)我們的項目的結(jié)構(gòu)如下 ${project.root}
            |
            +-- build/           <-- WAR/EAR檔的目錄
            +-- classes/         <-- 編譯的輸出目錄,與JBuilder兼容
            +-- src/             <-- Java源文件目錄
            +-- web/             <-- WEB Content 目錄
            |    |
            |    +--pages/       <-- JSP 文件目錄
            |    +--WEB-INF/     <-- web.xml 等配置文件
            +-- ejb              <-- EJB Content 目錄
            |    |
            |    +---INF/    <-- EJB 配置文件
            +-- ear              <-- EAR Content 目錄
            |    |
            |    +---INF/    <-- EAR 配置文件
            |-- lib              <-- 項目所要用到的library

          接下來第一步,就是要先定義好一些全局的參數(shù),以便以后更改起來方便,風(fēng)格
          大家自己選擇好了,我用的是如下的方式:

          (1) 給出項目的目錄:
            <!--// project directories //--><property name="dir.project" ="D:/Code/MyProject"/><property name="dir.project.lib" ="${dir.project}/lib"/><property name="dir.project.src" ="${dir.project}/src"/><property name="dir.project.web_module" ="${dir.project}/web"/><property name="dir.project.ejb_module" ="${dir.project}/ejb"/><property name="dir.project.ear_module" ="${dir.project}/ear"/><!--// compile, build and deploy directories //--><property name="dir.project.compile" ="${dir.project}/classes"/><property name="dir.project.compile.jspcache" ="${dir.project.compile}/jspcache"/><property name="dir.project.build" ="${dir.project}/build"/><!--// J2EE Container //--><property name="dir.appserver.tomcat.home" ="D:/J2EE_HOME/AppServer/Tomcat"/><property name="dir.appserver.oc4j.j2ee.home" ="D:/J2EE_HOME/AppServer/OC4J/j2ee/home"/>
           

          (2) 定義Java Source的編譯選項
          <!--// Java compiler options //--> <property name="opt.compile.source" ="1.4"/><property name="opt.compile.target" ="1.4"/><property name="opt.compile.encoding" ="UTF-8"/><property name="opt.compile.deprecation" ="on"/><property name="opt.compile.debug" ="on"/><property name="opt.compile.optimize" ="off"/>
           

          (3) 如果需要 import EJB library 的話,給出下面的定義,后面會用到
              <!--// EJB imported resource //--><property name="import.ejb.report.server" ="${dir.project.lib}/Appwork.jar"/>
           

          (4) 給出部署WAR/EAR文件的名稱:
            <!--// Deployment //--><property name="deploy.file.ejb_module" ="MyApp_EJB.jar" /><property name="deploy.file.web_module" ="MyApp_WEB.war" /><property name="deploy.file.ear_module" ="MyApp.ear" />
           

          (5) 給出CLASSPATH的定義,引入相關(guān)的Library和項目編譯生成的Java Classes
            <path id="CLASSPATH"><!--// Tomcat Libraries //--><fileset dir="${dir.appserver.tomcat.home}/bin"> <include name="*.jar"/></fileset> <fileset dir="${dir.appserver.tomcat.home}/server/lib"> <include name="*.jar"/> </fileset> <fileset dir="${dir.appserver.tomcat.home}/common/lib"> <include name="*.jar"/> </fileset> <!--// Depended Libraries //--><pathelement location="${dir.project.lib}/abc.jar"/><pathelement location="${dir.project.lib}/AppServer.jar"/><pathelement location="${dir.project.lib}/AppServiceClient.jar"/><pathelement location="${dir.project.lib}/AppUtil.jar"/><pathelement location="${dir.project.lib}/xport.jar"/><pathelement location="${dir.project.lib}/jaxen-full.jar"/><pathelement location="${dir.project.lib}/jstl.jar"/><pathelement location="${dir.project.lib}/log4j-1.2.13.jar"/><pathelement location="${dir.project.lib}/ojdbc14.jar"/><pathelement location="${dir.project.lib}/saxpath.jar"/><pathelement location="${dir.project.lib}/standard.jar"/><pathelement location="${dir.project.lib}/taglibs-log.jar"/><!--// Project classes //--><pathelement location="${dir.project.compile}"/></path>
           

          (6) 基本的clean和init的task
            <target name="clean"><delete dir="${dir.project.build}"/><delete dir="${dir.project.compile.jspcache}"/><delete dir="${dir.project.compile}"/><delete dir="${dir.project.web_module}/WEB-INF/classes"/><delete dir="${dir.project.web_module}/WEB-INF/lib"/></target><target name="init"><mkdir dir="${dir.project.compile}"/><mkdir dir="${dir.project.compile.jspcache}"/><mkdir dir="${dir.project.web_module}/WEB-INF/classes"/><mkdir dir="${dir.project.web_module}/WEB-INF/lib"/><mkdir dir="${dir.project.build}"/></target>
           

          (7) 編譯Java Source
          <target name="src_compile" depends="init"><!--// compile the Java source //--><javac srcdir="${dir.project.src}" destdir="${dir.project.compile}" encoding="${opt.compile.encoding}" source="${opt.compile.source}" target="${opt.compile.source}" deprecation="${opt.compile.deprecation}"debug="${opt.compile.debug}" optimize="{opt.compile.optimize}" ><classpath refid="CLASSPATH"/><include name="**/*.java"/></javac><!--// copy the classpath resources //--><copy todir="${dir.project.compile}"><fileset dir="${dir.project.src}"><exclude name="**/*.java"/></fileset></copy> </target>
           

          (8) 預(yù)編譯JSP文件,可選擇基于Tomcat或是Oracle Application Server
            <!--// for Tomcat //--> <target name="jsp_src_generate" depends="src_compile"><taskdef classname="org.apache.jasper.JspC" name="jasper2"><classpath refid="CLASSPATH"/> </taskdef><jasper2 validateXml="false" verbose="9"uriroot="${dir.project.web_module}" outputDir="${dir.project.compile.jspcache}" webXmlFragment="${dir.project.compile.jspcache}/generated-web.xml" /> </target><target name="jsp_src_compile"><javac srcdir="${dir.project.compile.jspcache}" destdir="${dir.project.compile.jspcache}" encoding="${opt.compile.encoding}" source="${opt.compile.source}" target="${opt.compile.source}" deprecation="${opt.compile.deprecation}"debug="${opt.compile.debug}" optimize="{opt.compile.optimize}" ><classpath refid="CLASSPATH"/><include name="**"/></javac></target><target name="jsp_precompile" depends="src_compile, jsp_src_generate, jsp_src_compile" />
           

          (9) 開始進(jìn)行compile,make 和 build,并生成部署檔案
            <target name="compile" depends="src_compile, jsp_precompile" /><!--// Build WAR file //--><target name="make.web_module" depends="compile"><war destfile="${dir.project.build}/${deploy.file.web_module}" webxml="${dir.project.web_module}/WEB-INF/web.xml"><fileset dir="${dir.project.web_module}" ><include name="**"/><exclude name="WEB-INF/classes/**"/><exclude name="WEB-INF/lib/**"/></fileset><classes dir="${dir.project.compile}"><include name="**"/><exclude name="project/package/trx/**"/><exclude name="jspcache/**"/></classes><lib dir="${dir.project.lib}"><include name="AppUtil.jar"/><include name="AppClient.jar"/></lib></war></target><!--// Build EJB Jar file //--><target name="make.ejb_module" depends="src_compile"><jar destfile="${dir.project.build}/${deploy.file.ejb_module}"><zipgroupfileset dir="${dir.project.lib}"><include name="AppServer.jar"/></zipgroupfileset><fileset dir="${dir.project.ejb_module}"><include name="**"/></fileset><fileset dir="${dir.project.compile}"><include name="**"/><exclude name="project/package/controller/**"/><exclude name="jspcache/**"/></fileset></jar></target><!--// Build EAR file //--><target name="make.ear_module" depends="compile, make.web_module, make.ejb_module"><ear destfile="${dir.project.build}/${deploy.file.ear_module}" appxml="${dir.project.ear_module}/-INF/application.xml"><fileset dir="${dir.project.build}"><include name="${deploy.file.web_module}"/><include name="${deploy.file.ejb_module}"/></fileset></ear></target><target name="make" depends="init, compile, make.web_module, make.ejb_module, make.ear_module" /><target name="build" depends="clean, init, make" />
          posted on 2008-02-13 22:59 禮物 閱讀(581) 評論(0)  編輯  收藏 所屬分類: JavaJakarta
          主站蜘蛛池模板: 东莞市| 钦州市| 沁水县| 修武县| 从化市| 睢宁县| 平果县| 乌鲁木齐县| 方山县| 嫩江县| 永安市| 石狮市| 平果县| 普安县| 平乐县| 滨州市| 江都市| 乌审旗| 清水县| 洱源县| 新宁县| 宁国市| 江都市| 台南市| 绿春县| 浙江省| 合川市| 舒城县| 封开县| 余干县| 特克斯县| 黄平县| 乐东| 全州县| 固原市| 南京市| 德州市| 麻栗坡县| 景宁| 肃宁县| 灯塔市|