[英]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 ...>
任務的outputproperty
的outputproperty
並根據需要進行解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.