ArgumentProcessor
是命令列引數的剖析器,它會在建置檔剖析之前和之後呼叫。第三方程式庫可以使用自訂的引數列引數,修改 Ant 的行為。
每次 Ant 剖析未知引數時,就會呼叫 ArgumentProcessor
,ArgumentProcessor
沒有優先權可以剖析 Ant 已支援的選項。因此,建議第三方 ArgumentProcessor
實作選擇「足夠」的特定引數名稱,例如避免使用單一字母的引數。
它也會在不同的階段呼叫,因此可以實作不同的行為。它會在剖析完所有引數後、專案設定之前(剖析建置檔時)和設定後呼叫。有些方法實作會傳回布林值:如果傳回 true
,Ant 會立即終止,不會產生錯誤。
ArgumentProcessor
會在所有這些階段呼叫,它可以只印出一些特定的系統屬性然後結束(例如 -diagnose),或印出專案在剖析後的一些特定屬性然後結束(例如 -projectHelp),或只在專案上設定一些自訂屬性然後讓它執行。
首先,ArgumentProcessor
必須是 org.apache.tools.ant.ArgumentProcessor
的實作。
然後宣告它:建立一個檔案 META-INF/services/org.apache.tools.ant.ArgumentProcessor,其中只包含一行實作類別的完整限定名稱。這個檔案和實作類別需要在 Ant 的類別路徑中找到。