Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

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

          引用地址:http://www.easydone.cn/014/200604110005145285.htm

          配合ant開發web項目
          應用相關說明:
          1、ant版本:apache-ant-1.6.1
          2、eclipse版本:eclipse-SDK-3.0.1-win32
          3、j2sdk1.4.2_08
          4、jakarta-tomcat-5.0.19
          5、mysql
          目錄結構如下:


          ant具體配置如下
          1、"Easydone"project"demo"bin目錄下新建build.xml
          內容如下:

          <?xml version="1.0"  encoding="GB2312" ?>
          <project name="Demo-Home" basedir="." default="usage">

           <property name="app.name" ="demo"/>
           <property name="app.dir" location="../WebRoot"/>
           <property name="webserver.home" location="../../../platform/jakarta-tomcat-5.0.19"/>
           <property name="webserver.deploy" location="${webserver.home}/webapps/"/>
           <property name="src.dir" location="../src"/>
           <property name="build.dir" location="${app.dir}/WEB-INF/classes"/>
           <property name="lib.dir" location="${app.dir}/WEB-INF/lib"/>
           <property name="dist.dir" location="../dist"/>
           <property name="properties.dir" location="${src.dir}/com/easydone/struts/ApplicationResources.properties"/>
           <property name="properties_zh.dir" location="${build.dir}/com/easydone/struts/ApplicationResources_zh.properties"/>
           <property name="doc.dir" ="../api"/>
           <property name="packages" ="com.easydone.*"/>
           
           <echo>+--------------------------------------------------+</echo>
           <echo>|                                                  |</echo>
           <echo>|       R U N N I N G   A N T    REPOSITORY        |</echo>
           <echo>|                                                  |</echo>
           <echo>+--------------------------------------------------+</echo>
           <!---Help Information-->
           <target name="usage" >
               <echo message=""/>
               <echo message="-------------------------------------------------------------"/>
               <echo message="操作說明:"/>
               <echo message="首先將您編寫的java文件拷貝至${src.dir}目錄下,按先后順序執行以下命令既可。"/>
               <echo message="第一步:compile 命令編譯*.java"/>
               <echo message="第二步:deploy 命令生成${app.name}.jar文件"/>
               <echo message="第三步:doc 命令生成詳細javadoc文檔"/>
               <echo message="每一步操作都能看到 BUILD SUCCESSFUL提示后,表示您操作成功!"/>
               <echo message="-------------------------------------------------------------"/>
               <echo message=""/>
           </target>  
            <!-- =================================================================== -->
            <!-- 設置應用環境變量                           -->
            <!-- =================================================================== --> 
           <path id="compile.classpath">
            <pathelement path ="${build.dir}"/>
            <fileset dir="${lib.dir}">
             <include name="**/*.jar"/>
            </fileset>
           </path>
            <!-- =================================================================== -->
            <!-- 格式化中文資源包,解決國際化中文問題                     -->
            <!-- =================================================================== --> 
              <target name="checkToZh">
                   <uptodate property="toZh.notRequired"
                      srcfile="${properties.dir}"
                      targetfile="${properties_zh.dir}"/>
              </target>
              <target name="toZh" depends="checkToZh" unless="toZh.notRequired">
                  <delete file="${properties_zh.dir}"/>
                  <!-- native2ascii struts.properties -->
                  <exec executable="native2ascii">
                    <arg line=" ${properties.dir}  ${properties_zh.dir}"/>
                  </exec> 
                  <echo message="toZh performed!"/>
              </target>
            <!-- =================================================================== -->
            <!-- 初始化創建相關應用目錄                             -->
            <!-- =================================================================== -->
              <target name="prepare" deion="create build,dist files">
               <mkdir dir="${build.dir}"/>
               <mkdir dir="${dist.dir}"/>    
              </target>
            <!-- =================================================================== -->
            <!-- 初始化應用程序,刪除相關目錄                           -->
            <!-- =================================================================== --> 
           <target name="clean" deion="Delete build files">
            <delete dir="${build.dir}"/>
            <delete dir="${dist.dir}"/>
           </target>
           
            <!-- =================================================================== -->
            <!-- compile 命令,執行javac編譯命令                          -->
            <!-- =================================================================== --> 
           <target name="compile" depends="prepare">
            <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on">
             <classpath refid="compile.classpath"/>
            </javac>
           </target>
            <!-- =================================================================== -->
            <!-- update命令,編譯及處理國際化中文資源文件                        -->
            <!-- =================================================================== -->
           <target name="update" depends="compile,toZh">
            <!--copy classes-->
            <copy todir="${webserver.deploy}/${app.name}/WEB-INF/classes" includeEmptyDirs="no">
             <fileset dir="${build.dir}"/>
            </copy>
            <!--copy pages-->
            <copy todir="${webserver.deploy}/${app.name}" includeEmptyDirs="no">
             <fileset dir="${app.dir}"/>
            </copy>
            <!-- copy libs-->
            <copy todir="${webserver.deploy}/${app.name}/WEB-INF/lib" includeEmptyDirs="no">
             <fileset dir="${lib.dir}"/>
            </copy>
           </target>
            <!-- =================================================================== -->
            <!-- 部署應用程序,依賴于 compile命令clean,prepare,compile,dist          -->
            <!-- =================================================================== -->

           <target name="deploy" depends="clean,prepare,compile,toZh,dist">
            <delete dir="${webserver.deploy}/${app.name}.war"/>
            <delete dir="${webserver.deploy}/${app.name}"/>  
            <copy todir="${webserver.deploy}" includeEmptyDirs="no">
             <fileset dir="${dist.dir}"/>
            </copy>
           </target> 
            <!-- =================================================================== -->
            <!-- 部署應用程序,將其打為mshome.war包,依賴于 compile命令              -->
            <!-- =================================================================== --> 
           <target name="dist" depends="compile">
             <echo>building war...</echo>
             <war warfile="${dist.dir}/${app.name}.war"
                 webxml="${app.dir}/WEB-INF/web.xml">
               <fileset dir="${app.dir}"/>
               <classes dir="${build.dir}"/>
               <classes dir="${lib.dir}">
                <include name="*.propertries"/>
             </classes>
             <lib dir="${lib.dir}">
              <include name="*.jar"/>
             </lib>
            </war>
           </target> 
            <!-- =================================================================== -->
            <!-- 生成說明文檔(api)                                                   -->
            <!-- =================================================================== -->
           <target name="javadoc" depends="usage,compile">
              <delete dir="${doc.dir}"/>
              <mkdir dir="${doc.dir}"/>
               <javadoc packagenames="${packages}"
                        sourcepath="${src.dir}"
                        destdir="${doc.dir}"
                        author="true"
                        version="true"
                        use="true"
                        splitindex="true"
                        windowtitle="${app.name} API"
                        doctitle="${app.name}">
                 <classpath refid="compile.classpath"/>
               </javadoc>
            </target>
            <!-- =================================================================== -->
            <!-- 執行一個數據庫操作,其中demo為您的數據庫名,可測試相關jdbc連接
                查詢語句為bin目錄下的db.sql                                -->
            <!-- =================================================================== -->  
           <target name = "mysqlInit">
           <echo>ANT 操作數據庫開始.....</echo>
           <sql
            driver = "org.gjt.mm.mysql.Driver"
            url = "jdbc:mysql://localhost:3306/demo"
            userid = "root"
            password = "*******"
            src = "db.sql"
            print="yes"
            ="continue"
           />
           </target>
           <!--END-->
          </project>

          2、在"Easydone"project"demo"bin目錄下新建setEnv.bat
          dos處理腳本,主要為設置環境變量(這樣做您無需手工配置環境變量,將整個工程移動到任何目錄都可以使用),內容如下:

          set ANT_HOME=../../../platform/apache-ant-1.6.1
          set JAVA_HOME=../../../platform/j2sdk1.4.2_08
          set CLASSPATH=%JAVA_HOME%/lib/toos.jar;%JAVA_HOME%/lib/dt.jar
          set CATALINA_HOME=../../../platform/jakarta-tomcat-5.0.19
          set PATH=%ANT_HOME%/bin;%CATALINA_HOME%/BIN;%JAVA_HOME%/bin;%CATALINA_HOME%/BIN
          3、服務控制腳本:
          tomcat啟動服務:
          在"Easydone"project"demo"bin目錄下新建 run.cmd:

          call setEnv.bat
          startup

          tomcat停止服務:
          在"Easydone"project"demo"bin目錄下新建 down.cmd

          call setEnv.bat
          shutdown

          更新腳本:
          在"Easydone"project"demo"bin目錄下新建 update.cmd
          call setEnv.bat
          ant -buildfile build.xml  update

          部署腳本:
          在"Easydone"project"demo"bin目錄下新建 deploy.cmd
          call setEnv.bat
          ant -buildfile build.xml  deploy

          java doc 腳本:
          在"Easydone"project"demo"bin目錄下新建 doc.cmd
          call setEnv.bat
          ant -buildfile build.xml  javadoc

          剩下的都在build.xml中,根據你的需要自己定義腳本程序就可以了
          很簡單,這樣可控制你的應用。
          posted on 2008-02-13 22:58 禮物 閱讀(1027) 評論(0)  編輯  收藏 所屬分類: JavaJakarta
          主站蜘蛛池模板: 滁州市| 靖江市| 信阳市| 乌兰浩特市| 稷山县| 长顺县| 伽师县| 鸡西市| 社会| 民权县| 旬阳县| 邯郸市| 德保县| 泊头市| 友谊县| 会昌县| 太和县| 齐河县| 九寨沟县| 巫溪县| 奉节县| 枣阳市| 成武县| 石家庄市| 永昌县| 大埔县| 南召县| 河北区| 浠水县| 公主岭市| 安康市| 鹰潭市| 清水县| 柘城县| 博乐市| 达拉特旗| 射洪县| 华池县| 农安县| 寻乌县| 烟台市|