2016-10-29 85 views
0

我已經螞蟻build.xml,看起來像這樣運行的.jar文件。但目標生成文件的格式爲:myprogram-20161029.jar。所以應該執行的文件的名稱會有所不同,具體取決於文件構建的時間。該運行目標應該是這樣的:螞蟻不知道它的全名

<target name="run" depends="dist"> 
    <java jar="what to put here??" fork="true" output="output.file.name"/> 
</target> 

但是從我讀過罐子的Java目標參數只接受.jar文件,這是我不知道的位置。我只知道文件名滿足./${jar.name.prefix}*.jar。 有沒有人有一個想法,如何獲取已建好的.jar文件的文件名並將其傳遞給參數java任務?

+0

哪裏給DSTAMP屬性賦值? – Rao

+0

'DSTAMP'通過調用任務'tstamp'來設置。 – Jeysym

+0

然後使用您用於構建它的相同方式。 – Rao

回答

1

首先,由於「運行」目標取決於「dist」,因此「dist」中定義的所有屬性都可在「運行」內進行訪問。所以,你可以輕鬆地使用相同的$ {DSTAMP}(由「TSTAMP」目標定義)是這樣的:

<target name="run" depends="dist"> 
    <java jar="${jar.name.prefix}${DSTAMP}.jar" fork="true" output="output.file.name"/> 
</target> 

二是我建議的東西,如定義自定義變量的名稱,而不是DSTAMP:

<tstamp prefix="jardate"/> 

然後,DSTAMP的使用將是$ {jardate.DSTAMP}而不是$ {DSTAMP}。