簡體   English   中英

通過make調用ant命令

[英]invoking an ant command via make

我正在嘗試做一些事情,這種事情可能不會經常做。 它是使用多種工具的測試代碼的一部分:java,ant,make和xml。

我們的java測試工具解析XML。 它通過XML標記從文件獲取參數:

<TAG>-Darg1="argument1" -Darg2="argument2"</TAG>

在Java代碼中,我正在調用make命令。 make命令是從Java(通過ProcessBuilder)調用的。

在生成文件中,我在應傳遞-Darg="argument1" -Darg2="argument2" args的位置調用ant。

但這不起作用。

無論如何,似乎-Darg1= ...部分中的-D與make不兼容,因此我試圖將其包含在我可以通過make傳遞給ant的變量中。 在ant中,它使用變量“ RULES_ARG ”並將其視為一個參數,而不是兩個參數。

我已經嘗試了xml中的各種引用機制:“ -Darg1 = argument1 -Darg2 = argument2”,“ -Darg1 =” argument1“ -Darg2 =” argument2“”

以及在Java中調用的位置: "RULES_ARGS="+RulesArgs+" ", "RULES_ARGS=\\""+RulesArgs+"\\" " (與xml部分結合使用)。

等等,都沒有令人滿意的結果。

我想知道是否有人嘗試做類似的事情,以及解決該問題的可行方法?

提前致謝。

您是說要使用-D選項運行make嗎? 那行不通,因為make不支持-D

如果您試圖通過make命令行傳遞一些標志以用於ant調用,那么您應該執行以下操作:在make命令行上運行make set變量時:

make ANTFLAGS='-DFOO -DBAR -DBAZ'

然后在makefile中,當您運行ant時,傳遞該變量:

runant:
         ant $(ANTFLAGS) ...

如果這不是您要嘗試的操作,請澄清您的問題。 例如,您說它不起作用並且沒有令人滿意的結果 ,但是您沒有提供有關看到的錯誤或不正確行為的任何詳細信息。 這樣的錯誤消息將有助於弄清楚到底發生了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM