熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

使用Ant編譯Java工程[3]

2013-11-23 20:47:53  來源: Java開源技術 

  如果(或如果不)某些屬性被設定才執行某個target這樣允許根據系統的狀態(java version OS 命令行屬性定義等等)來更好地控制build的過程要想讓一個target這樣做你就應該在target元素中加入if(或unless)屬性帶上target因該有所判斷的屬性例如

<target name=buildmoduleA if=moduleApresent/>
<target name=buildownfakemoduleA unless=moduleApresent/>


  如果沒有if或unless屬性target總會被執行

  可選的description屬性可用來提供關於target的一行描述這些描述可由projecthelp命令行選項輸出

  將你的tstamp task在一個所謂的初始化target是很好的做法其他的target依賴這個初始化target要確保初始化target是出現在其他target依賴表中的第一個target在本手冊中大多數的初始化target的名字是init

  target有下面的屬性

  Attribute  Description  Required
  name  target的名字 Yes
  depends  用逗號分隔的target的名字列表也就是依賴表 No
  if  執行target所需要設定的屬性名 No
  unless  執行target需要清除設定的屬性名 No
  description  關於target功能的簡短描述 No

   Tasks

  一個task是一段可執行的代碼

  一個task可以有多個屬性(如果你願意的話可以將其稱之為變量)屬性只可能包含對property的引用這些引用會在task執行前被解析

  下面是Task的一般構造形式
<name attribute=value attribute=value />
這裡name是task的名字attributeN是屬性名valueN是屬性值

  有一套內置的(builtin)task以及一些可選task但你也可以編寫自己的task

  所有的task都有一個task名字屬性Ant用屬性值來產生日志信息

  可以給task賦一個id屬性

<taskname id=taskID />


  這裡taskname是task的名字而taskID是這個task的唯一標識符通過這個標識符你可以在腳本中引用相應的task例如在腳本中你可以這樣

<script >
tasksetFoo(bar);
</script>

  設定某個task實例的foo屬性在另一個task中(用java編寫)你可以利用下面的語句存取相應的實例

[]  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/29096.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.