當前位置:吉日网官网 - 紀念幣收藏 - Java:ant中path和pathelement角色的解決方案。

Java:ant中path和pathelement角色的解決方案。

1 和

您可以使用“:”和“;”作為分隔符,指定路徑和類路徑之類的引用。Ant會將分隔符轉換為當前系統使用的分隔符。

當您需要指定類似於路徑的值時,可以使用嵌套元素。壹般形式是

& lt類路徑& gt

& ltpath element path = " { class path } "/& gt;

& ltpath element location = " lib/helper . jar "/& gt;

& lt/class path & gt;

location屬性指定相對於項目基目錄的文件和目錄,而path屬性接受由逗號或分號分隔的位置列表。path屬性通常用作預定義的路徑。在其他情況下,應該使用多個位置屬性。

為了簡單起見,classpath標簽支持它自己的路徑和位置屬性。所以:

& lt類路徑& gt

& ltpath element path = " { class path } "/& gt;

& lt/class path & gt;

可以由簡來寫:

& lt類路徑path = " { class path } "/& gt;

妳也可以使用

& lt類路徑& gt

& ltpath element path = " { class path } "/& gt;

& lt文件集dir="lib " >

& ltinclude name="**/*。jar "/>;

& lt/fileset & gt;

& ltpath element location = " classes "/& gt;

& lt/class path & gt;

上面的示例構造了壹個路徑,其路徑值包括:{classpath},後跟lib目錄中的所有jar文件,再後跟classes目錄。

如果妳想在多個任務中使用相同的類路徑結構,妳可以使用

類似路徑的結構可以包括對另壹個類似路徑的結構的引用(通過嵌套

& ltpath id = " base.path " & gt

& ltpath element path = " { class path } "/& gt;

& lt文件集dir="lib " >

& ltinclude name="**/*。jar "/>;

& lt/fileset & gt;

& ltpath element location = " classes "/& gt;

& lt/path & gt;

& ltpath id = " tests.path " & gt

& ltpath refid = " base . path "/& gt;

& ltpath element location = " test classes "/& gt;

& lt/path & gt;

上面提到的關於

& ltpath id = " tests.path " & gt

& ltpath refid = " base . path "/& gt;

& ltpath element location = " test classes "/& gt;

& lt/path & gt;

可以寫成:

& ltpath id = " base . path " path = " { class path } "/& gt;

兩個文件集

1)文件集是壹組文件,可以在基本目錄樹下找到,並與指定的模式集和選擇器相匹配。文件集的結構如下所示:

& lt文件集dir = " $ { server.src } " & gt

& ltpatternset/>;

& lt選擇器/>;

& lt/fileset & gt;

2)patternset壹般作為FileSet的子元素,幫助過濾文件。可以包含以下子元素:include、exclude、include、exclude、includesfile、excludesfile。

文件集隱式包含壹個patternset元素,因此您可以在文件集中直接包含模式集中的元素,例如

下面的patternset包含std子目錄下的java文件,如果由professional定義的話,也包含prof中的java文件,但是不包含名稱中帶有Test的文件。

& ltpatternset id = " sources " & gt

& ltinclude name="std/**/*。Java "/>;

& ltinclude name="prof/**/*。Java " if = " professional "/& gt;

& ltexclude name = " * */* Test * "/& gt;

& lt/pattern set & gt;

3)選擇器壹般用作文件集的子元素,幫助過濾文件。

常用的巖心選擇器有:

& lt包含& gt-允許您選擇包含指定字符串的文件。

& lt日期& gt-用於選擇在特定時間之前或之後修改的文件。

& lt依賴& gt-選擇比其他地方的同等文件修改時間更近的文件

& lt深度& gt-用於選擇具有指定目錄深度的文件。

& lt不同& gt-選擇與別處不同的文件

& lt文件名& gt-用於選擇文件名與特定模式匹配的文件。等同於包含和排除的Patternset。

& ltpresent & gt-用於選擇某個位置存在或不存在的文件。

& ltcontainsregexp & gt-用於選擇與指定正則表達式匹配的文件。

& ltsize & gt-用於選擇大於或小於指定大小的文件。

& lttype & gt-選擇常規文件或目錄。

& lt修改後的& gt-如果配置的算法的返回值不同於緩存中存儲的值,請選擇文件。

& lt簽名選民& gt-選擇已簽名的文件,也可以選擇是否有特定名稱的簽名。

& ltscriptselector & gt-使用BSF或JSR 223腳本語言創建自己的選擇器

& lt可讀& gt-選擇具有可讀屬性的文件。

& lt可寫的& gt-選擇具有可寫屬性的文件。

例如,選擇所有包含腳本的html文件。

& lt文件集目錄="${doc.path} "包含="**/*。html " & gt

& ltcontains text = " script " case sensitive = " no "/& gt;

& lt/fileset & gt;

例如,選擇1年1月和2001年1月之前修改的所有JAR文件。

& lt文件集目錄="${jar.path} "包含="**/*。jar " & gt

& ltdate datetime = " 01/01/2001 12:00am " when = " before "/>;

& lt/fileset & gt;

例如,選擇所有滿足正則表達式的txt文件。

& lt文件集dir="${doc.path}" includes="*。txt " & gt

& ltcontainsregexp表達式="[4-6]\。[0-9]"/>

& lt/fileset & gt;

以下選擇器相當於patternset:

& lt文件集dir = " $ { server . src } " case sensitive = " yes " & gt;

& lt文件名名稱="**/*。Java "/>;

& ltnot & gt

& ltfilename name = " * */* Test * "/& gt;

& lt/not & gt;

& lt/fileset & gt;

等於

& lt文件集dir = " $ { server . src } " case sensitive = " yes " & gt;

& lt文件名名稱="**/*。Java "/>;

& ltfilename name = " * */* Test * " negate = " true "/& gt;

& lt/fileset & gt;

等於

& lt文件集dir = " $ { server . src } " case sensitive = " yes " & gt;

& ltinclude name="**/*。Java "/>;

& ltexclude name = " * */* Test * "/& gt;

& lt/fileset & gt;

選擇器容器可以包含其他選擇器。常用的選擇器容器有:

& lt並且& gt

& lt包含& gt

& lt自定義& gt

& lt日期& gt

& lt依賴& gt

& lt深度& gt

& lt文件名& gt

& lt多數& gt

& lt無& gt

& ltnot & gt

& lt或者& gt

& ltpresent & gt

& lt選擇器& gt

& ltsize & gt

例如,選擇壹個大於4096字節的JAR文件,並且自上壹千年以來沒有更新過。

& lt文件集dir="${dist}" includes="**/*。jar " & gt

& lt並且& gt

& ltsize value = " 4 " units = " Ki " when = " more "/& gt;

& ltdate datetime = " 01/01/2001 12:00am " when = " before "/>;

& lt/和& gt

& lt/fileset & gt;

結束!

作者:iTech

資料來源:blogs.com/.

歡迎加入qq交流群172758282討論build/release/Jenkins!

歡迎加入qq交流群426095548討論linux!類別:BuildRelease,BuildTools綠色通道:好文章要密切關註我的收藏,聯系我。

  • 上一篇:姓“古”的名人有那些?(正面的)
  • 下一篇:實木家居知識大全實用幹貨趕緊收藏
  • copyright 2024吉日网官网