日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 汲取者 2010-04-23

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

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

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

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

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

ant.java.versionAnt檢測到的JDK的版本,在上例運(yùn)行結(jié)果中可看到為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>

該例的運(yùn)行結(jié)果如下圖所示:
   

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

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

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

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

三.             Ant的常用任務(wù)

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

1.       copy任務(wù)

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

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

Eg2.對文件目錄進(jìn)行復(fù)制:

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

            <fileset dir="src_dir"/>

 </copy>

Eg3. 將文件復(fù)制到另外的目錄:

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

2.       delete任務(wù)

對文件或目錄進(jìn)行刪除,舉例如下:

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

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

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

        <delete includeEmptyDirs="true">

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

        </delete>

3.       mkdir任務(wù)

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

4.       move任務(wù)

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

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

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

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

        <move todir="newdir">

               <fileset dir="olddir"/>

        </move>

5.       echo任務(wù)

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

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

四.             利用Ant構(gòu)建和部署Java工程

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

1.       利用Antjavac任務(wù)來編譯java程序

Antjavac任務(wù)用于實(shí)現(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>

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

2.       使用Antjava任務(wù)運(yùn)行Java程序

Ant中可以使用java任務(wù)實(shí)現(xiàn)運(yùn) 行Java程序的功能。下面在1的例子中進(jìn)行如下的修改,修改后的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>

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

3.       使用Antjar任務(wù)生成jar文件

讀者可以在上例的基礎(chǔ)上更進(jìn)一步,來生成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屬性設(shè)置為jar,同時運(yùn)行該build.xml文件,運(yùn)行完畢后,可看到在工程目錄下生成了一個jarHelloWorld.jar。

4.       使用Antwar任務(wù)打包J2EE Web項(xiàng)目

建立一個J2EE Web工程,其目錄結(jié)構(gòu)如下圖所示:

其中src為源代碼目 錄,WebRoot為各jsp存放目錄,lib為工程的包目錄。在antwebproject工程目錄下建立了build.xml文件,該文件為該工程的Ant構(gòu)件文件。讀者可以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)進(jìn)行說明,在此不再贅述。運(yùn)行該build文件,更新目錄后,可看到在build目錄下生成了antwebproject.war文件,解開后可看到其目錄結(jié)構(gòu)如下:

--META-INF

     --MANIFEST.MF

--index.jsp

--WEB-INF

     --lib

            --log4j-1.2.9.jar

     --classes

            --HelloWorld.class

     --web.xml

     讀者可以將該war包拷貝到Tomcat的目錄下 看一下運(yùn)行結(jié)果。

五.             總結(jié)

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多