乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ant教程詳解(轉載)(二) - 我的文章 - PERL的自由天堂

       汲取者 2010-04-23

      同時,Ant還提供了一 些它自己的內(nèi)置屬性,如下:

      basedirproject基目錄的絕對路徑,該屬性在講解project元素時有詳細說明,不再贅述;

      ant.filebuildfile的絕對路徑,如上面的各例子中,ant.file的值為E:"build.xml;

      ant.versionAnt的版本,在本文中,值為1.7.0

      ant.project.name:當前指定的project的名字,即前文說到的projectname屬性的值;

      ant.java.versionAnt檢測到的JDK的版本,在上例運行結果中可看到為1.5。

      下面讓讀者來看一個property元素使用的簡單例子。修改E:"build.xml文件,內(nèi)容如下:

      <?xml version="1.0"?>
      <project name="propertyStudy" default="example">
      <property name="name" value="amigo"/>
      <property name="age" value="25"/>
      <target name="example">
              
      <echo message="name: ${name}, age: ${age}"/>
      </target>
      </project>

      該例的運行結果如下圖所示:
         

      由此讀者可以看出,通過如下兩個語句:

      <property name="name" value="amigo"/>

      <property name="age" value="25"/>

      我們設置了名為nameage的兩個屬 性,這兩個屬性設置后,讀者在下文中可以通過${name}${age}分別取得這兩個屬性的值。

      三.             Ant的常用任務

      Ant工具中每一 個任務封裝了具體要執(zhí)行的功能,是Ant工具的基本執(zhí)行單位。在本小節(jié)中,主要引導讀者來看下Ant的常用任務 及其使用舉例。

      1.       copy任務

      該任務主要用來對文件和目錄的復制功能。舉例如下:

      Eg1.復制單個文件:<copy file="file.txt" tofile="copy.txt"/>

      Eg2.對文件目錄進行復制:

         <copy todir="../newdir/dest_dir">

                  <fileset dir="src_dir"/>

       </copy>

      Eg3. 將文件復制到另外的目錄:

       <copy file="file.txt" todir="../other/dir"/>

      2.       delete任務

      對文件或目錄進行刪除,舉例如下:

      Eg1. 刪除某個文件:<delete file="photo/amigo.jpg"/>

      Eg2. 刪除某個目錄:<delete dir="photo"/>

      Eg3. 刪除所有的備份目錄或空目錄:

              <delete includeEmptyDirs="true">

                     <fileset dir="." includes="**/*.bak"/>

              </delete>

      3.       mkdir任務

      創(chuàng)建目錄。eg<mkdir dir="build"/>

      4.       move任務

      移動文件或目錄,舉例如下:

      Eg1. 移動單個文件:<move file="fromfile" tofile=”tofile”/>

      Eg2. 移動單個文件到另一個目錄:<move file="fromfile" todir=”movedir”/>

      Eg3. 移動某個目錄到另一個目錄:

              <move todir="newdir">

                     <fileset dir="olddir"/>

              </move>

      5.       echo任務

      該任務的作用是根據(jù)日志或監(jiān)控器的級別輸出信息。它包括message、fileappendlevel四個屬性,舉例如下:

      <echo message="Hello,Amigo" file="logs/system.log" append="true">

      四.             利用Ant構建和部署Java工程

      Ant可以代替使用javacjavajar等命令來執(zhí)行java操作,從而達到輕松的構建和部署Java工程的目的。下面來看幾個知識點。

      1.       利用Antjavac任務來編譯java程序

      Antjavac任務用于實現(xiàn)編譯Java程序的功能。下面來看一個簡單的例子:

      首先我們建立名為antstudyJava工程,建立src目錄為源代碼目錄,在src目錄下建立HelloWorld.java這個類文件。該類文件的內(nèi)容如下:

      public class HelloWorld  {
          
      public static void main(String[] args)  {
             System.out.println("Hello,Amigo");
          }
      }

         同時在antstudy工程的根目錄下建立build.xml文件,在該文件中編譯src目錄下的java文件,并將編譯后的class文件放入build/classes目錄中,在編譯前,需清除classes目錄,該文件的內(nèi)容如下:

      <?xml version="1.0"?>
      <project name="javacTest"default="compile" basedir=".">
          
      <target name="clean">
             
      <delete dir="build"/>
          
      </target>

          
      <target name="compile" depends="clean">
             
      <mkdir dir="build/classes"/>
          
      <javac srcdir="src" destdir="build/classes"/>
          
      </target>
      </project>

          運行該build.xml文件,可在工程中看到新增了build/classes目錄,并在該目錄中生成了編譯后的HelloWorld.class文件。

      2.       使用Antjava任務運行Java程序

      Ant中可以使用java任務實現(xiàn)運 行Java程序的功能。下面在1的例子中進行如下的修改,修改后的build.xml文件的內(nèi)容如下:

      <?xml version="1.0"?>
      <project name="javaTest" default="jar" basedir=".">
          
      <target name="clean">
             
      <delete dir="build"/>
          
      </target>

          
      <target name="compile" depends="clean">
             
      <mkdir dir="build/classes"/>
            
      <javac srcdir="src" destdir="build/classes"/>
          
      </target>

          
      <target name="run" depends="compile">
             
      <java classname="HelloWorld">
                 
      <classpath>
                    
      <pathelement path="build/classes"/>
                 
      </classpath>
             
      </java>
          
      </target>
      </project>

          運行該build.xml文件,可在控制臺看到HelloWorldmain方法的輸出。

      3.       使用Antjar任務生成jar文件

      讀者可以在上例的基礎上更進一步,來生成jar包,可在run這個target下再加上 如下target

      <target name="jar" depends="run">
      <jar destfile="helloworld.jar" basedir="build/classes">
                 
      <manifest>
                    
      <attribute name="Main-class" value="HelloWorld"/>
                 
      </manifest>
             
      </jar>
      </target>

      此時將antprojectdefault屬性設置為jar,同時運行該build.xml文件,運行完畢后,可看到在工程目錄下生成了一個jarHelloWorld.jar。

      4.       使用Antwar任務打包J2EE Web項目

      建立一個J2EE Web工程,其目錄結構如下圖所示:

      其中src為源代碼目 錄,WebRoot為各jsp存放目錄,lib為工程的包目錄。在antwebproject工程目錄下建立了build.xml文件,該文件為該工程的Ant構件文件。讀者可以src目錄下放入在前續(xù)例子中開發(fā)的HelloWorld.java文件,并在WebRoot下建立index.jsp文件,其內(nèi)容很簡單,就是輸出Hello信息,代碼如下所示:

      <% @ page language="java" contentType="text/html; charset="UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www./TR/html4/loose.dtd">
      <html>
          
      <head>
             
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
             
      <title>ant打包測試</title>
          
      </head>
          
      <body>
             Hello,Ant
          
      </body>
      </html>

         接下來編寫build.xml文件,其內(nèi)容如下:

      <?xml version="1.0"?>
      <project name="antwebproject"  default="war"basedir=".">
       
      <property name="classes" value="build/classes"/>
          
      <property name="build"value="build"/>
          
      <property name="lib"value="WebRoot/WEB-INF/lib"/>
          
      <!-- 刪除build路 徑-->
          
      <target name="clean">
             
      <delete dir="build"/>
          
      </target>

          
      <!-- 建立build/classes路 徑,并編譯class文件到build/classes路 徑下-->
          
      <target name="compile" depends="clean">
             
      <mkdir dir="${classes}"/>

             
      <javac srcdir="src" destdir="${classes}"/>
          
      </target>

          
      <!-- war-->
          
      <target name="war" depends="compile">
      <war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
                 
      <!-- 拷貝WebRoot下 除了WEB-INFMETA-INF的兩 個文件夾-->
          
      <fileset dir="WebRoot" includes="**/*.jsp"/>

                 
      <!-- 拷貝lib目 錄下的jar-->
                 
      <lib dir="${lib}"/>
                 
      <!-- 拷貝build/classes下 的class文件-->
                 
      <classesdir="${classes}"/>
             
      </war>
          
      </target>
      </project>

          target的作用在 內(nèi)容中已經(jīng)進行說明,在此不再贅述。運行該build文件,更新目錄后,可看到在build目錄下生成了antwebproject.war文件,解開后可看到其目錄結構如下:

      --META-INF

           --MANIFEST.MF

      --index.jsp

      --WEB-INF

           --lib

                  --log4j-1.2.9.jar

           --classes

                  --HelloWorld.class

           --web.xml

           讀者可以將該war包拷貝到Tomcat的目錄下 看一下運行結果。

      五.             總結

      在本文中,筆者由淺至深詳細描述了Ant的安裝與配 置、關鍵元素和常用任務。并通過實例講述了Ant在我們Java項目中的應用,講述了編譯、運行java程序,以及打jar包、war包等知識, 引領讀者進入Ant的奇妙世界。在本文中可以看到,Ant在自動構建和部署Java程序方面方 便易用,而且非常靈活,不失為我們Java開發(fā)者的絕佳幫手

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多