簡體   English   中英

Ant 如何從自定義 Java 系統屬性中獲取值

[英]How can Ant get the value from custom Java system property

在我的java類中,我有

System.setProperty("test", drinks);

在我的 Ant 構建文件中,我能夠執行 java 類。 如何使用名稱“test”在 Ant 中獲得結果 ${drinks} ?

唯一可能的方法是在java Ant 任務中使用屬性fork="false" (false 是默認值)。 也就是說,如果您的 Java 程序與 Ant 在同一個 JVM 中執行。 否則,您的 Java 程序將在單獨的進程中執行,並且它設置的任何系統屬性都不能被 Ant 訪問。 但是請注意,執行非分叉 Java 程序可能(並且經常會)對 Ant 構建的其余部分產生不希望的副作用。

如果在命令行中設置了該屬性,例如ant -Dtest=drinks它將作為${test}從構建系統中可用,但是如果您通過執行 Java 代碼調用此屬性,則需要找到一個從生成的 Java 進程中獲取值到一個新變量中的方法,通常使用System.out.println(...)<exec ...>任務的outputpropertyoutputproperty並根據需要進行解析。

暫無
暫無

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

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