[轉帖]ant的build.xml文件詳解備忘

          ?主題:[轉帖]ant的build.xml文件詳解備忘 (回復數:8 作者:ark) 刷新?? 收藏本主題
        1. Matrix排名:7027
        2. 排名變化:? ↓6
        3. 用戶等級:1
        4. 總發貼數:6
        5. 總積分(Karma):92
        6. 參與分(經驗):32
        7. 專家分(威望):5
        8. 可用分(財富):130
        9. 類型:普通用戶
        10. 昵稱:貓米
        11. 注冊:2005-12-22
        12. 進入ark的部落格
        13. Matrix排名:327
        14. 排名變化:? ↓1
        15. 用戶等級:4
        16. 總發貼數:47
        17. 總積分(Karma):661
        18. 參與分(經驗):141
        19. 專家分(威望):69
        20. 可用分(財富):987
        21. 類型:論壇版主
        22. 注冊:2003-09-05
        23. Matrix排名:57
        24. 排名變化:? --
        25. 用戶等級:6
        26. 總發貼數:182
        27. 總積分(Karma):1549
        28. 參與分(經驗):700
        29. 專家分(威望):58
        30. 可用分(財富):2002
        31. 類型:普通用戶
        32. 昵稱:漢尼
        33. 來自:廣州
        34. 注冊:2003-11-21
        35. 進入hanny的部落格
        36. Matrix排名:142
        37. 排名變化:? ↓1
        38. 用戶等級:5
        39. 總發貼數:139
        40. 總積分(Karma):940
        41. 參與分(經驗):572
        42. 專家分(威望):35
        43. 可用分(財富):1010
        44. 類型:普通用戶
        45. 注冊:2005-12-16
        46. Matrix排名:142
        47. 排名變化:? ↓1
        48. 用戶等級:5
        49. 總發貼數:139
        50. 總積分(Karma):940
        51. 參與分(經驗):572
        52. 專家分(威望):35
        53. 可用分(財富):1010
        54. 類型:普通用戶
        55. 注冊:2005-12-16
        56. Matrix排名:639
        57. 排名變化:? ↓2
        58. 用戶等級:4
        59. 總發貼數:50
        60. 總積分(Karma):439
        61. 參與分(經驗):149
        62. 專家分(威望):43
        63. 可用分(財富):585
        64. 類型:普通用戶
        65. 注冊:2004-08-12
        66. 進入xingxing44的部落格
        67. Matrix排名:51
        68. 排名變化:? --
        69. 用戶等級:6
        70. 總發貼數:215
        71. 總積分(Karma):1607
        72. 參與分(經驗):926
        73. 專家分(威望):54
        74. 可用分(財富):1810
        75. 類型:普通用戶
        76. 注冊:2005-11-13
        77. Matrix排名:6399
        78. 排名變化:? ↓5
        79. 用戶等級:1
        80. 總發貼數:3
        81. 總積分(Karma):98
        82. 參與分(經驗):12
        83. 專家分(威望):0
        84. 可用分(財富):180
        85. 類型:普通用戶
        86. 注冊:2004-07-07
        87. Matrix排名:1865
        88. 排名變化:? ↑65
        89. 用戶等級:3
        90. 總發貼數:4
        91. 總積分(Karma):246
        92. 參與分(經驗):16
        93. 專家分(威望):0
        94. 可用分(財富):470
        95. 類型:普通用戶
        96. 昵稱:狂奔的蝸牛
        97. 注冊:2006-05-19
        98. ark ????
          user photo
          [信息] [引用] [回復] 樓 主 BACK TOP

          以build_for_ejb_templet.xml為示例,講解Ant中常用的元素和任務。

          約定: "…"表示這里有很多代碼,未列出

          build_for_ejb_templet.xml任務的分為以下幾大部分
          i. 開始
          ii. 初始化
          iii. 定義classpath
          iv. 為編譯作準備
          v. 編譯EJB部分
          vi. 編譯WEB部分
          vii. 編譯J2EE Application
          viii. 部署Application
          ix. 創建組件的API
          x. 確定build的目標

          build_for_ejb_templet.xml的講解

          開始
          <?xml version="1.0" encoding="UTF-8"?>
          講解:encoding="UTF-8"表示XML文件采用UTF-8編碼格式,如果要使用GBK編碼,需定義為encodeing="GBK"。

          <!--??
          ??Build file for 'componentName'??
          ??Creation date : $Date: yyyy-m-d $??
          ??Updated date : $Date: yyyy-m-d $??
          ??Author:??developerName
          ??Copyright 2002 CompanyName, Inc. All rights reserved.??
          -->??
          講解:此部分為文件內容的簡介,包括文件名稱、創建日期、最后修改日期、創建文件的作者、版權。
          componentName 表示 文件名稱
          yyyy-m-dd 表示 創建日期、最后修改日期的格式,如2002-5-1
          developerName 表示 創建文件的作者
          CompanyName 表示 公司名稱或URL

          <project name="componentName" default="core" basedir=".">

          </project>
          講解:此部分定義了一個名稱為componentName的項目元素,缺省的任務為"core"任務,根目錄為當前目錄。componentName表示組件的名稱,這里指EJB的名稱。



          初始化
          <target name="init">

          </target>
          講解:此部分用于初始化所有的變量

          <property file="../../build.properties" />
          講解:導入項目根目錄下build.properties中的全局變量,開發人員也可以在此文件中重新定義全局變量。

          <property name="jboss.lib" value="${jboss.home}/lib" />??
          <property name="jboss.client" value="${jboss.home}/client" />??
          <property name="jboss.deploy" value="${jboss.home}/server/${jboss.configuration}/deploy" />??

          <property name="jboss.dir"??????value="${jboss.home}" />??

          <property name="deploy.ormi"???? value=""/>??
          <property name="deploy.username" value=""/>??
          <property name="deploy.password" value=""/>
          講解:定義和Jboss Application Server有關的變量,包括lib目錄、client目錄、
          deploy目錄和J2EE Application部署要用到的一些變量。

          <property name="name"??value="componentName"/>??
          講解:定義組件的名稱

          <property name="src.dir" value="${basedir}/src"/>??
          講解:定義源代碼目錄路徑

          <property name="etc.dir" value="${basedir}/etc"/>??
          講解:定義資源目錄路徑

          <property name="lib.dir" value="${basedir}/lib"/>??
          講解:定義庫目錄路徑

          <property name="build.dir" value="${basedir}/build"/>??
          講解:定義build目錄路徑

          <property name="src.main.dir" value="${src.dir}/main"/>
          講解:定義源代碼的主目錄路徑

          <property name="src.ejb.dir" value="${src.main.dir}/ejb"/>??
          講解:定義存放EJB的源代碼目錄路徑

          <property name="src.javabean.dir" value="${src.main.dir}/javabean"/>
          講解:定義存放JavaBean的源代碼目錄路徑

          <property name="src.servlet.dir" value="${src.main.dir}/servlet"/>
          講解:定義存放Servlet的源代碼目錄路徑

          <property name="src.web.dir" value="${src.main.dir}/web"/>??
          講解:定義存放WEB部分文件(包括JSP程序、HTML文件、圖片、CSS文件、JS腳本等)的目錄路徑

          <property name="javadoc.dir" value="${lib.dir}/docs/api"/>
          講解:定義存放組件API的開發文件目錄路徑

          <property name="ejb-classes.dest" value="${lib.dir}/ejb"/>??
          講解:定義存放EJB的編譯代碼目錄路徑

          <property name="javabean-classes.dest" value="${lib.dir}/javabean"/>??
          講解:定義存放JavaBean的編譯代碼目錄路徑

          <property name="web-classes.dest" value="${lib.dir}/web/WEB-INF/classes" />
          講解:定義WEB目錄的類目錄路徑

          <property name="web-lib.dest" value="${lib.dir}/web/WEB-INF/lib" />??
          講解:定義WEB目錄的庫目錄名稱

          <property name="pkg-dist.name" value="${name}-pkg"/>??
          講解:定義壓縮文檔的名稱

          <property name="ProjectName.components.home" value="../../components" />??
          講解:定義項目的組件目錄路徑

          <!-- Define componentName Component -->
          講解:這段為注釋,說明以下是定義當前組件的變量

          <property name="ProjectName.componentName.name" value="componentName"/>
          講解:定義當前組件的名稱

          <property name="ProjectName.componentName.home" value="${ProjectName.components.home}/componentName"/>
          講解:定義當前組件的目錄路徑

          <property name="ProjectName.componentName.classbindir"
          value="${ProjectName.componentName.home}/lib/ejb"/>
          講解:定義當前組件的EJB編譯目錄路徑
          <property name="ProjectName.componentName.ejbjar"
          value="${ProjectName.componentName.home}/build/componentName-ejb.jar"/>
          講解:定義當前組件內的EJB包的路徑

          <property name="ProjectName.componentName.ejbjar.client"
          value="${ProjectName.componentName.home}/build/componentName-ejb-client.jar"/>
          講解:定義當前組件內的EJB客戶端包的路徑

          <!-- Define referencesComponentName Component -->
          講解:這段為注釋,說明以下是定義引入其它組件的變量

          <property name="ProjectName.referencesComponentName.name"
          value="referencesComponentName"/>
          講解:定義指定組件的名稱

          <property name="ProjectName.referencesComponentName.home"
          value="${ProjectName.components.home}/referencesComponentName"/>
          講解:定義指定組件的目錄路徑

          <property name="ProjectName.referencesComponentName.classbindir"
          value="${ProjectName.referencesComponentName.home}/lib/ejb"/>
          講解:定義指定組件的EJB編譯目錄路徑

          <property name="ProjectName.referencesComponentName.ejbjar"
          value="${ProjectName.referencesComponentName.home}
          /build/referencesComponentName-ejb.jar"/>
          講解:定義指定組件內的EJB包的路徑

          <property name="ProjectName.referencesComponentName.ejbjar.client"
          value="${ProjectName.referencesComponentName.home}
          /build/referencesComponentName-ejb-client.jar"/>
          講解:定義指定組件內的EJB客戶端包的路徑

          <property name="build.classpath"
          value="${jboss.client}/jboss-j2ee.jar:${jboss.client}
          /jnp-client.jar:${jboss.client}/jnp-client.jar:${jboss.client}
          /jbossmq-client.jar:${jboss.client}/jbosssx-client.jar:${jboss.client}
          /concurrent.jar:${jboss.client}/jaas.jar:${jboss.lib}
          /jboss-jmx.jar:${jboss.home}/server/${jboss.configuration}
          /lib/jbosssx.jar:${jboss.home}/server/${jboss.configuration}
          /lib/mail.jar:${servlet-lib.path}:${ejb-classes.dest}:
          ${web-classes.dest}:${ProjectName.componentName.classbindir}:
          ${ProjectName.componentName.ejbjar.client}:
          ${ProjectName.referencesComponentName.classbindir}:
          ${ProjectName.referencesComponentName.ejbjar.client}" />
          講解:定義classpath,編譯bean時要用到。這是定義classpath的一種方法,下面還有另一種方法。

          定義classpath
          <!-- ================================================================== -->??
          ??<!-- Define the classpath for compile the component???????????????????? -->
          ??<!-- ================================================================== -->??
          ??<path id="base.path">??
          ??????<pathelement location="${jboss.client}/jboss-j2ee.jar" />??
          ??????<pathelement location="${jboss.client}/jnp-client.jar" />??
          ??????<pathelement location="${jboss.client}/jbossmq-client.jar" />??
          ??????<pathelement location="${jboss.client}/jbosssx-client.jar" />??
          ??????<pathelement location="${jboss.client}/concurrent.jar" />
          ??????<pathelement location="${jboss.client}/jaas.jar" />??
          ??????<pathelement location="${jboss.lib}/jboss-jmx.jar" />??
          ??????<pathelement
          location="${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar" />??
          ??????<pathelement
          location="${jboss.home}/server/${jboss.configuration}/lib/mail.jar" />??
          </path>??
          講解:此段定義應用服務器中包文件,如支持ejb的jboss-j2ee.jar、支持客戶端程序的jnp-client.jar、jbossmq-client.jar、jbosssx-client.jar、支持JavaMail的mail.jar等。

          ?? <path id="project.path">??
          ??????<path refid="base.path"/>
          ??????<pathelement location="${ProjectName.componentName.classbindir}"/>
          ??????<pathelement location="${ProjectName.componentName.ejbjar.client}"/>
          ??????<pathelement
          location="${ProjectName.referencesComponentName.classbindir}"/>
          ??????<pathelement location="${ProjectName.referencesComponentName.ejbjar.client}"/>
          ?? </path>??
          講解:此段定義項目中要用到的包文件。

          ?? <path id="web.path">
          ???????? <path refid="project.path"/>
          ???????? <pathelement location="${servlet-lib.path}"/>
          ???????? <pathelement location="${ejb-classes.dest}"/>
          ?? </path>
          講解:此段定義在編譯servlet時的classpath,${ servlet-lib.path }是系統指定的Servlet引擎包。

          為編譯作準備工作

          <!--=============================================================== -->??
          ?? <!-- Removes all created files and directories??????????????????????-->??
          ?? <!-- ============================================================== -->??
          ?? <target name="clean" depends="init">??
          ??????<delete dir="${lib.dir}" />??
          ??????<delete dir="${build.dir}" />??
          ?? </target>
          講解:清除build、lib目錄下的所有文件和目錄。

          ?? <!-- ================================================================ -->??
          ?? <!-- Makes sure the needed directory structure is in place??????????????-->??
          ?? <!-- ================================================================ -->??
          ?? <target name="prepare" depends="init,clean">??
          ??????<mkdir dir="${lib.dir}" />??
          ??????<mkdir dir="${lib.dir}/ejb" />??
          ??????<mkdir dir="${lib.dir}/ejb/META-INF" />??
          ??????<mkdir dir="${lib.dir}/web" />??
          ??????<mkdir dir="${lib.dir}/web/WEB-INF" />??
          ??????<mkdir dir="${lib.dir}/web/WEB-INF/classes" />??
          ??????<mkdir dir="${lib.dir}/web/WEB-INF/lib" />??
          ??????<mkdir dir="${lib.dir}/j2ee" />??
          ??????<mkdir dir="${lib.dir}/META-INF" />??
          ??????<mkdir dir="${lib.dir}/docs/api" />
          ??????<mkdir dir="${build.dir}" />??
          ?? </target>??
          講解:創建build中要用到的所有目錄,根據需要可以加入自定義的目錄如:
          ??????<mkdir dir="${lib.dir}/javabean/ " />

          編譯EJB部分
          <!-- ================================================================ -->??
          ?? <!-- Compilation of the EJB part of the application???????????????????? -->??
          ?? <!-- ================================================================ -->??
          ?? <target name="ejb-classes" depends="prepare">??
          ??????<javac srcdir="${src.ejb.dir}"??
          ???????????? destdir="${ejb-classes.dest}"??
          ???????????? includes="com/**"??
          ???????????? classpathref="base.path" />
          ?? </target>??
          講解:此小段用來完成編譯ejb和其它help classes。根據需要可以加入一個非常有用的元素:
          ???????????? encoding="${javac.encoding}"

          ?? <target name="ejb-meta-inf" depends="prepare">??
          ??????<copy file="${etc.dir}/ejb-jar.xml"??
          ????????????tofile="${lib.dir}/ejb/META-INF/ejb-jar.xml" />??
          ??????<copy file="${etc.dir}/jaws.xml"??
          ????????????tofile="${lib.dir}/ejb/META-INF/jaws.xml" />??
          ??????<copy file="${etc.dir}/jboss.xml"??
          ????????????tofile="${lib.dir}/ejb/META-INF/jboss.xml" />??
          ??????<copy file="${etc.dir}/jbosscmp-jdbc.xml"??
          ????????????tofile="${lib.dir}/ejb/META-INF/jbosscmp-jdbc.xml" />??
          ?? </target>
          講解:此小段用來拷貝EJB部署文件,在JAS中EJB部署文件有jaws.xml、jboss.xml、jbosscmp-jdbc.xml。

          ?? <target name="ejb-jar" depends="ejb-classes,ejb-meta-inf">??
          ??????<jar jarfile="${build.dir}/${name}-ejb.jar"??
          ?????????? basedir="${lib.dir}/ejb" />??
          ?? </target>??
          講解:此小段用來把class和部署文件壓縮成包文件,這個包文件就是一個EJB組件。

          ?? <target name="ejbclientjar" depends="ejb-jar,web-classes">
          ??????<copy
          file="${ProjectName.referencesComponentName.home}/build/
          ${ProjectName.referencesComponentName.name}-ejb-client.jar"??
          ??????????tofile="${build.dir}/${ProjectName.referencesComponentName.name}
          ??????????-ejb-client.jar" />??
          ??????<jar jarfile="${build.dir}/${name}-ejb-client.jar"??
          ?????????? basedir="${lib.dir}/ejb"
          ?????????? excludes="com/ProjectName/componentName/ejb/ComponentNameEJB.class" />??
          ?? </target>
          講解:此小段用來把class和部署文件壓縮成包文件,以支持客戶端運行。

          編譯WEB部分
          <!-- ================================================================== -->??
          ?? <!-- Compilation of the web part of the application???????????????????? -->??
          ?? <!-- ================================================================== -->??
          ?? <target name="web-classes" depends="prepare,ejb-jar">??
          ??????<javac srcdir="${src.servlet.dir}"??
          ???????????? destdir="${lib.dir}/web/WEB-INF/classes"??
          ???????????? includes="com/**"??
          ???????????? classpath="${build.classpath}" />??
          ?? </target>??
          講解:此小段用來完成編譯servlet。

          ?? <target name="web-web-inf" depends="prepare">
          ??????<copy file="${etc.dir}/jboss-web.xml"??
          ????????????tofile="${lib.dir}/web/WEB-INF/jboss-web.xml" />??
          ??????<copy file="${etc.dir}/web.xml"??
          ????????????tofile="${lib.dir}/web/WEB-INF/web.xml" />??
          ?? </target>
          講解:此小段用來拷貝WEB部署文件,在JAS中WEB部署文件有jboss-web.xml。

          ?? <target name="war" depends="web-classes,web-web-inf">??
          ??????<copy todir="${lib.dir}/web" >
          ?????? <fileset dir="${src.web.dir}"/>
          ??????</copy>
          ??????<copy
          file="${build.dir}/${ProjectName.referencesComponentName.name}-ejb-client.jar"??
          tofile="${lib.dir}/web/WEB-INF/lib/${ProjectName.referencesComponentName.name}
          -ejb-client.jar" />????
          ???? <jar jarfile="${build.dir}/${name}-web.war"??
          ?????????? basedir="${lib.dir}/web" />??
          ?? </target>
          講解:此小段用來把所有的JSP程序、Html、Css、圖片和部署文件等壓縮成WAR文件。

          編譯J2EE Application
          <!-- ================================================================== -->??
          ?? <!-- Compilation of the complete J2EE application (both web and EJB)????-->??
          ?? <!-- ================================================================== -->??
          ?? <target name="j2ee-meta-inf" depends="prepare">??
          ??????<copy file="${etc.dir}/application.xml"??
          ????????????tofile="${lib.dir}/j2ee/META-INF/application.xml" />??
          ?? </target>??
          講解:此小段用來拷貝Application的部署文件。

          ?? <target name="ear" depends="ejb-jar,war,j2ee-meta-inf">??
          ??????<copy file="${build.dir}/${name}-ejb.jar"??
          ????????????tofile="${lib.dir}/j2ee/${name}-ejb.jar" />??
          ??????<copy file="${build.dir}/${name}-web.war"??
          ????????????tofile="${lib.dir}/j2ee/${name}-web.war" />??
          ??????<jar jarfile="${build.dir}/${name}.ear"??
          ?????????? basedir="${lib.dir}/j2ee" />??
          ?? </target>??
          講解:此小段用來把EJB組件、支持客戶端運行的包和部署文件壓縮成EAR文件,它就是一個J2EE Application。這里要說明,在進行build時,根據需要可以不生成EAR文件。

          部署Application
          <!-- ================================================================ -->
          ?? <!-- Deploy EAR file?????????????????????????????????????????????????? -->
          ?? <!-- ================================================================ -->
          ?? <target name="deploy-server" depends="ear,war">??
          ??????<copy todir="${jboss.deploy}">??
          ???????? <fileset dir="${build.dir}" includes="*.ear">??
          ???????? </fileset>??
          ??????</copy>??
          ?? </target>??
          講解:此小段用來部署Application,在JAS3.0中${jboss.deploy}是JAS的熱部署目錄。

          創建組件的API
          <!-- =================================================================== -->
          ?? <!-- Create class and package usage pages????????????????????????????????-->
          ?? <!-- =================================================================== -->
          ?? <target name="docs" depends="init">
          ????<javadoc locale="${javadoc.locale}" packagenames="${package.names}.${name}.*"??
          ???????????? destdir="${javadoc.dir}"??
          ???????????? classpath="${build.classpath}"
          ???????????? encoding="${javadoc.encoding}"
          ???????????? author="${javadoc.author}"
          version="${javadoc.version}"
          use="${javadoc.usage}"??
          ???????????? windowtitle="${project.name} ${name} Component API"
          ???????????? doctitle="${project.name} ${name} Component"??
          ???????????? bottom="Copyright ${sign.copyright} ${project.date}
          ${company.signature}. All Rights Reserved.">??
          <classpath >
          ????????<pathelement path="${lib.dir}/ejb"/>??
          ??????</classpath>
          ??????<sourcepath>
          ????????<pathelement path="${src.main.dir}/ejb"/>
          ??????</sourcepath>
          ????</javadoc>
          ?? </target>
          講解:此小段用來創建組件的API。這里強烈要求類設計人員和編碼人員按照Javadoc定義的標簽對源代碼進行注釋。



          確定build的目標
          <target name="startbanner">
          ??????<echo>+---------------------------------------+</echo>
          ??????<echo>+????Building ${name} Component???????? +</echo>
          ??????<echo>+---------------------------------------+</echo>
          ?? </target>
          ?? <target name="endbanner" depends="main" >
          ??????<echo>+---------------------------------------+</echo>
          ??????<echo>+????Finished ${name} Component???????? +</echo>
          ??????<echo>+---------------------------------------+</echo>
          ?? </target>
          ?? <target name="main" depends="startbanner, ejb-jar, ejbclientjar" />
          ?? <target name="main2" depends="startbanner, ejb-jar,
          ejbclientjar,war" />
          ?? <target name="main3" depends="startbanner, ejb-jar,
          ejbclientjar,war,ear,deploy-server" />
          ?? <target name="core" depends="ejb-war" />
          ?? <target name="ejb-war" depends="main2,endbanner" />
          ?? <target name="deploy" depends="main3,endbanner" />
          ?? <target name="all" depends="core, docs" />
          講解:此小段用來確定build的目標。缺省目錄為core,所以在build不加參數時,系統將只生成jar文件和war文件。如果 build時加上參數,系統將根據需要來生成文件,例如:在命令行輸入ant deploy,系統將生成jar文件、war文件、ear文件,同時將ear文件進行部署。

          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          編輯推薦(文章):Advanced SiteMesh
          linden_xu ????
          user face
          [信息] [引用] [回復] 第 2 樓 BACK TOP

          寫的很好
          我有些建議:
          1.我比較傾向于將所有property定義在include中的build.properties中,而不要放在build.xml中,這樣會使得build.xml比較清晰,而且在部署不同環境時比較有利,只要編寫多個build.properties進行替換就可以了
          2.關于外部jar包的問題,我覺得放在一個或多個比較公共性的目錄比較好,這樣在建立classpath的時候比較清晰。例如classpath指向應用服務器的lib路徑(導致必須要有不受控制的外部依賴,一直比較頭痛這個辦法),指向自己的lib路徑,而不是一個jar一個jar的指定。事實上在這里我更加傾向于maven的解決方案(雖然這樣的話,你就需要一個一個jar去指定了,但同時他有了一個版本的維護,相對會有利很多。這里并不是說使用maven好用,我覺得他的問題很大)
          3.由于你這個build.xml是屬于開發人員的,所以相對于時間戳,版本號等基本沒有要求,但如果作為正式一些,我建議打上時間戳及版本號
          4.關于單元測試的體現!我覺得這個是必須的,包括單元測試報告。至于是否一定要持續集成,我現在還沒有感覺有很強列的要求,主要是指是否一定需要從cvs check和autorun,我覺得可以不考慮。
          5.還有就是關于mkdir,我現在覺得放在每一個target中會更加清晰,比放在頂前面好,畢竟這個目錄是屬于這個target的呀
          寫的有些亂,只是我自己的使用感覺,希望參考
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          hanny ????
          user photo
          [信息] [引用] [回復] 第 3 樓 BACK TOP

          同意樓上的
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          編輯推薦(新聞):TestNG 5.0 發布
          ranchgirl ????
          user photo
          [信息] [引用] [回復] 第 4 樓 BACK TOP

          Please don't read this "[轉帖]ant的build.xml文件詳解備忘"

          It is really not a good example for you to learn ant.

          Please read ant menual, much easier to read and easier to understand.

          I have seen too many people on Chinese forums try to be teacher of everyone, this is a typical example.

          Sorry to tell you the truth...

          You are welcome to join 海外電腦中國同學會
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          編輯推薦(新聞):Sun在賭什么?
          ranchgirl ????
          user photo
          [信息] [引用] [回復] 第 5 樓 BACK TOP

          Here is ant manual, when you download ant, ant manual is with it. Therefore, it is on your figure tip!!!!

          http://ant.apache.org/manual/index.html

          Here is an ANT faq.
          http://bobcat.webappcabaret.net/javachina/faq/ant_01.htm

          You are welcome to join 海外電腦中國同學會
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          xingxing44 ????
          user face
          [信息] [引用] [回復] 第 6 樓 BACK TOP

          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          編輯推薦(新聞):TrackStudio 3.5 發布
          kq1983 ????
          user face
          [信息] [引用] [回復] 第 7 樓 BACK TOP

          ????5樓的英文不錯啊,推薦的東西也不錯
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          zhsx2221 ????
          user face
          [信息] [引用] [回復] 第 8 樓 BACK TOP

          也湊個熱鬧
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          編輯推薦(文章):JBoss EJB3(HelloWorld)備忘記
          hezhanfeng ????
          user face
          [信息] [引用] [回復] 第 9 樓 BACK TOP

          個人理解,覺得5樓是想告訴大家應該從基礎開始!!!
          基礎很重 :)
          ????
          ????????
          ????

          非常好 還行 一般 扔雞蛋 總得分: 投票人次:

          posted on 2006-07-30 00:19 hardson 閱讀(2157) 評論(0)  編輯  收藏 所屬分類: java基礎

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安顺市| 塘沽区| 砀山县| 石首市| 石屏县| 济阳县| 密云县| 宝清县| 肃北| 深水埗区| 新民市| 浦东新区| 泰兴市| 博兴县| 江口县| 大田县| 西丰县| 当涂县| 石楼县| 察哈| 甘孜县| 蒙山县| 乐清市| 秦安县| 山东省| 合作市| 万年县| 达日县| 汤阴县| 镇原县| 高雄市| 讷河市| 台山市| 隆子县| 柳州市| 夏邑县| 望谟县| 颍上县| 吉木萨尔县| 义马市| 临颍县|