<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    ?主題:[轉帖]ant的build.xml文件詳解備忘 (回復數:8 作者:ark) 刷新?? 收藏本主題
  • Matrix排名:7027
  • 排名變化:? ↓6
  • 用戶等級:1
  • 總發貼數:6
  • 總積分(Karma):92
  • 參與分(經驗):32
  • 專家分(威望):5
  • 可用分(財富):130
  • 類型:普通用戶
  • 昵稱:貓米
  • 注冊:2005-12-22
  • 進入ark的部落格
  • Matrix排名:327
  • 排名變化:? ↓1
  • 用戶等級:4
  • 總發貼數:47
  • 總積分(Karma):661
  • 參與分(經驗):141
  • 專家分(威望):69
  • 可用分(財富):987
  • 類型:論壇版主
  • 注冊:2003-09-05
  • Matrix排名:57
  • 排名變化:? --
  • 用戶等級:6
  • 總發貼數:182
  • 總積分(Karma):1549
  • 參與分(經驗):700
  • 專家分(威望):58
  • 可用分(財富):2002
  • 類型:普通用戶
  • 昵稱:漢尼
  • 來自:廣州
  • 注冊:2003-11-21
  • 進入hanny的部落格
  • Matrix排名:142
  • 排名變化:? ↓1
  • 用戶等級:5
  • 總發貼數:139
  • 總積分(Karma):940
  • 參與分(經驗):572
  • 專家分(威望):35
  • 可用分(財富):1010
  • 類型:普通用戶
  • 注冊:2005-12-16
  • Matrix排名:142
  • 排名變化:? ↓1
  • 用戶等級:5
  • 總發貼數:139
  • 總積分(Karma):940
  • 參與分(經驗):572
  • 專家分(威望):35
  • 可用分(財富):1010
  • 類型:普通用戶
  • 注冊:2005-12-16
  • Matrix排名:639
  • 排名變化:? ↓2
  • 用戶等級:4
  • 總發貼數:50
  • 總積分(Karma):439
  • 參與分(經驗):149
  • 專家分(威望):43
  • 可用分(財富):585
  • 類型:普通用戶
  • 注冊:2004-08-12
  • 進入xingxing44的部落格
  • Matrix排名:51
  • 排名變化:? --
  • 用戶等級:6
  • 總發貼數:215
  • 總積分(Karma):1607
  • 參與分(經驗):926
  • 專家分(威望):54
  • 可用分(財富):1810
  • 類型:普通用戶
  • 注冊:2005-11-13
  • Matrix排名:6399
  • 排名變化:? ↓5
  • 用戶等級:1
  • 總發貼數:3
  • 總積分(Karma):98
  • 參與分(經驗):12
  • 專家分(威望):0
  • 可用分(財富):180
  • 類型:普通用戶
  • 注冊:2004-07-07
  • Matrix排名:1865
  • 排名變化:? ↑65
  • 用戶等級:3
  • 總發貼數:4
  • 總積分(Karma):246
  • 參與分(經驗):16
  • 專家分(威望):0
  • 可用分(財富):470
  • 類型:普通用戶
  • 昵稱:狂奔的蝸牛
  • 注冊:2006-05-19
  • 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 閱讀(2156) 評論(0)  編輯  收藏 所屬分類: java基礎

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

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本免费一区二区在线观看| 色影音免费色资源| 亚洲av日韩av无码av| 在线观看免费亚洲| 成在人线av无码免费高潮喷水| 亚洲美免无码中文字幕在线| 国产网站免费观看| 成人毛片免费观看| 亚洲黄色免费网址| 国产精品免费大片| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 精品福利一区二区三区免费视频| 毛片免费vip会员在线看| 亚洲欧洲成人精品香蕉网| 2021国产精品成人免费视频| 亚洲熟伦熟女新五十路熟妇| 韩国18福利视频免费观看| 可以免费看黄视频的网站| 2021在线永久免费视频| 亚洲精品无码av天堂| 亚洲高清免费视频| 国产亚洲美女精品久久久| 国产亚洲高清不卡在线观看| 亚洲精品二区国产综合野狼| 在线亚洲v日韩v| 夜夜爽妓女8888视频免费观看| 国产成人无码免费看视频软件| 国产片AV片永久免费观看 | 中文字幕影片免费在线观看| 亚洲人成人网站色www | 亚洲欧洲日产国码久在线| 亚洲成AV人片高潮喷水| 一本大道一卡二大卡三卡免费| jizz18免费视频| 四虎免费大片aⅴ入口| 亚洲国产综合人成综合网站| 国产成人亚洲毛片| mm1313亚洲精品无码又大又粗| 亚洲图片在线观看| 亚洲乱码国产乱码精华| 日韩免费a级在线观看|