我有一個螞蟻腳本,其中有幾個input
目標有默認設置。我如何從命令行或shell執行ant,使其只接受默認值而不提示?在不詢問用戶輸入的情況下運行ANT?
更新哇,我想這將是一個快速的。提出問題的另一種方法是,有什麼方法可以在調用ANT時指定屬性,而不是通過input
提示進行指定?
我有一個螞蟻腳本,其中有幾個input
目標有默認設置。我如何從命令行或shell執行ant,使其只接受默認值而不提示?在不詢問用戶輸入的情況下運行ANT?
更新哇,我想這將是一個快速的。提出問題的另一種方法是,有什麼方法可以在調用ANT時指定屬性,而不是通過input
提示進行指定?
這裏有幾個建議,我敢肯定還有其他的選擇。
最簡單的方法是隻取/dev/null
輸入:
ant < /dev/null
(我想在Windows中可以使用NUL
做同樣的),這將導致違約使用。
但也許更有用的方法是提供屬性文件,該文件使用inputhandler爲每個提示的輸入設置所需的值。以下內容將讀取文件properties.txt
的輸入值。
export ANT_OPTS=-Dant.input.properties=properties.txt
ant -inputhandler org.apache.tools.ant.input.PropertyFileInputHandler
屬性文件中的每個條目由一行像
prompt_string=value
您要爲每個輸入提示添加屬性。如果不同的輸入使用相同的提示,這可能會變得棘手,或者顯然不起作用。
還有其他的inputhandlers。
另一種可能性(如您所提到的)是使用-Dprop.name=value
來設置Ant命令行中提示的每個屬性。然後Ant將使用這些提供的值,而不是試圖提示。你會在這種情況下,在日誌中看到這樣的事情:
[input] skipping input as property prompt.one has already been set.
的解決方法是指定調用ANT在使用-Dpropertyname=propertydefaultvalue
財產。
dev/null解決方案一遍又一遍地重複輸入問題! – Adam 2011-01-24 21:47:54