細(xì)心!用心!耐心!

          吾非文人,乃市井一俗人也,讀百卷書(shū),跨江河千里,故申城一游; 一兩滴辛酸,三四年學(xué)業(yè),五六點(diǎn)粗墨,七八筆買(mǎi)賣(mài),九十道人情。

          BlogJava 聯(lián)系 聚合 管理
            1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks

          ANT初步使用

           

          眾所周知,ant是java部署開(kāi)發(fā)工具,以前看過(guò)的一些使用方法都是有ant安裝文件的,今天看到rickard oberg(Jboss 構(gòu)架師)使用的 ant包使用方法,特地拿出來(lái)分享一下。

          1 開(kāi)發(fā)目錄結(jié)構(gòu):

          src目錄:

                                     main目錄:存放可執(zhí)行文件,注意,文件全部按包結(jié)構(gòu)位置,放置到位

                                     lib目錄:存放jar文件,例如rmi應(yīng)用中經(jīng)常用到的:Dynaserver.jar(簡(jiǎn)易web服務(wù)器);jndi.jar(jndi庫(kù));rmiregistry.jar(rmi庫(kù));providerutil.jar(jndi庫(kù))

                                    resources:存放一個(gè)配置文件,例如:jndi.properties;system.properties;最后一起放到包里

                                   etc目錄:存放配置文件。例如manifest.mf,主要存放jar文件的配置文件

                                    build目錄:存放build.xml,build.bat

           lib目錄:存放ant包,例如:jaxp.jar;ant.jar;parser.jar

           dist目錄:結(jié)果包,最后打好的包,存放在這里

           build目錄:用來(lái)存放,為了打包而存在的中間代碼文件等

           bin目錄:存放啟動(dòng)用,批處理文件,例如,啟動(dòng)服務(wù)器,啟動(dòng)客戶(hù)的批處理

            2 build.xml結(jié)構(gòu)

                               <?xml version="1.0"?>

          <!-- ======================================================================= -->
          <!-- HelloApplet build file                                                       -->
          <!-- ======================================================================= -->

          <project name="HelloApplet" default="main" basedir="../..">
             <path id="project.class.path">
                <fileset dir="${basedir}/lib"/>
                <fileset dir="${basedir}/src/lib"/>
                <pathelement location="${basedir}/build/classes" />
             </path>
             
            <target name="init">
              <property name="Name" value="HelloApplet"/>
              <property name="name" value="helloapplet"/>
              <property name="version" value="1.0"/>

              <property name="lib.dir" value="${basedir}/lib"/>
              <property name="src.dir" value="${basedir}/src"/>
              <property name="build.dir" value="${basedir}/build"/>
              <property name="dist.dir" value="${basedir}/dist"/>

                 
            </target>

            <!-- =================================================================== -->
            <!-- Prepares the directories                                            -->
            <!-- =================================================================== -->
            <target name="prepare" depends="init">

              <mkdir dir="${build.dir}"/>
              <mkdir dir="${build.dir}/classes"/>
              <mkdir dir="${build.dir}/lib"/>
              <mkdir dir="${build.dir}/bin"/>

              <mkdir dir="${dist.dir}"/>
              <mkdir dir="${dist.dir}/lib"/>
              <mkdir dir="${dist.dir}/src"/>
            </target>
           
            <!-- =================================================================== -->
            <!-- Compiles the source code                                            -->
            <!-- =================================================================== -->
            <target name="compile" depends="prepare">
              <javac srcdir="${src.dir}/main"
                     destdir="${build.dir}/classes"
                     debug="on"
                     deprecation="off"
                     optimize="off">
                 <classpath refid="project.class.path" />
              </javac>
             
              <rmic base="${build.dir}/classes"
                    classname="masteringrmi.helloapplet.server.HelloWorldImpl"
                    stubVersion="1.2">
                 <classpath refid="project.class.path" />
              </rmic>
            </target>

            <!-- =================================================================== -->
            <!-- Creates the jar archives                                            -->
            <!-- =================================================================== -->
            <target name="jar" depends="compile">
              <copy todir="${build.dir}/classes">
                 <fileset dir="${src.dir}/resources"/>
              </copy>   

              <jar jarfile="${build.dir}/bin/server.jar"
                   basedir="${build.dir}/classes"
                   manifest="${src.dir}/etc/server.mf"
              />
            </target>
           
            <!-- =================================================================== -->
            <!-- Creates the binary structure                                        -->
            <!-- =================================================================== -->
            <target name="main" depends="jar">  
               <copy todir="${dist.dir}/lib">
                 <fileset dir="${src.dir}/lib"/>
               </copy>   
            </target>

          關(guān)于以上ant文件的含義,可以參考網(wǎng)上的一些資料

          3build.bat內(nèi)容

              @echo off
          rem ----- Verify and Set Required Environment Variables -----------------------

          if not "%JAVA_HOME%" == "" goto gotJavaHome
          echo You must set JAVA_HOME to point at your Java Development Kit distribution
          goto cleanup

          :gotJavaHome

          set _CP_=..\..\lib\ant.jar
          set _CP_=%_CP_%;..\..\lib\parser.jar
          set _CP_=%_CP_%;..\..\lib\jaxp.jar

          %JAVA_HOME%\bin\java.exe -classpath "%JAVA_HOME%\lib\tools.jar;%_CP_%;%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5


          :cleanup


          4system.properties/jndi.properties

             都是運(yùn)行時(shí)配置文件,其中jndi.properties會(huì)自動(dòng)加載,內(nèi)容如:

            java.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory
            java.naming.provider.url=rmi://localhost

            system.properties需通過(guò)程序調(diào)用

            System.getProperties().load(
                   Thread.currentThread().
                   getContextClassLoader().
                   getResourceAsStream("system.properties"));

           
          posted on 2007-05-06 16:36 張金鵬 閱讀(77) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 获嘉县| 高淳县| 扶绥县| 镇原县| 和平县| 金山区| 耒阳市| 班戈县| 锡林浩特市| 米脂县| 蒲城县| 大连市| 无锡市| 安义县| 昌图县| 澎湖县| 灵武市| 商水县| 洮南市| 克什克腾旗| 云安县| 保康县| 巴林左旗| 和静县| 长汀县| 安多县| 穆棱市| 筠连县| 唐海县| 电白县| 扶风县| 孙吴县| 钟祥市| 三穗县| 榆中县| 富源县| 资中县| 五家渠市| 阜平县| 东丽区| 于田县|