是否有可能以有條件的方式在Ant 屬性文件(而不是build.xml
)中設置屬性值?例如,如果apache.root
屬性已設置 - 否則my_property
將爲${apache.root}/myapp
,/var/www/myapp
。如果沒有,那麼常見的做法是什麼 - 可重複使用的文件是build.xml
?螞蟻屬性文件中的條件屬性
11
A
回答
24
使用condition任務:
<project name="demo" default="run">
<condition property="my_property" value="${apache.root}/myapp" else="/var/www/myapp">
<isset property="apache.root"/>
</condition>
<target name="run">
<echo message="my_property=${my_property}"/>
</target>
</project>
1
可以包括基於環境或條件變量不同的屬性文件。例如
對於<echo>Building ${ant.project.name} on OS: ${os.name}-${os.arch}</echo>
<property file="build-${os.name}.properties" />
這將包括一個名爲「建窗口7.properties」或取決於那裏,並正在運行「build-Linux.properties」文件。當然,property指令在當前目錄以及主目錄中查找。所以屬性文件可以是構建源的一部分,也可以是構建帳戶的主目錄。
您可以使用條件標籤生成屬性文件的名稱的一部分,以及選擇
1
其中一個條件,你可以用最簡單的形式是:
<exec executable="hostname" outputproperty="hostname"/>
<condition property="python" value="/usr/bin/python3.4">
<equals arg1="${hostname}" arg2="host0"/>
</condition>
<property name="python" value="/usr/bin/python"/>
,以適應不同例如python安裝路徑。在這裏,默認的安裝路徑是/ usr/bin/python,除了host0之外它/usr/bin/python3.4
0
OP詢問屬性文件,而不是在ant編譯文件中。不幸的是,條件不能從屬性文件中完成。你可以做的是爲每組相關屬性分別設置屬性文件。例如:
在build.xml
<condition property="app.name" value="appA">
<equals arg1="${appName}" arg2="A" />
</condition>
<condition property="app.name" value="appB">
<equals arg1="${appName}" arg2="B" />
</condition>
<property file="${app.name}.properties" />
<!-- since properties are immutable, set your defaults here -->
<property name="apache.root" value="/var" />
<property file="restOfProps.properties" />
appA.properties
apache.root=/appA
restOfProps.properties
my_property=${apache.root}/myapp
相關問題
- 1. 螞蟻寫屬性文件存儲過濾的屬性
- 2. 螞蟻:螞蟻如何找到屬性setter方法屬性
- 3. 螞蟻屬性覆蓋
- 4. 螞蟻Macrodef屬性利用
- 5. 讀取屬性文件中的屬性與螞蟻不尊重秩序
- 6. 通過閱讀屬性文件螞蟻複製文件
- 7. 迭代螞蟻屬性文件中的值的問題?
- 8. 像螞蟻Maven的pom.xml文件中獲取屬性值
- 9. 螞蟻中的動態屬性名稱
- 10. 螞蟻閱讀密鑰值的屬性文件
- 11. 屬性文件不是通過示例項目的螞蟻
- 12. 如何讀取螞蟻的屬性文件
- 13. 螞蟻屬性內部的問號
- 14. 螞蟻屬性的列表項索引
- 15. 螞蟻變音屬性內的變音屬性
- 16. 可變屬性的螞蟻不可變屬性
- 17. 螞蟻的屬性值和屬性位置有什麼區別
- 18. 螞蟻更換令牌從屬性文件
- 19. apache螞蟻可變文件類型屬性
- 20. 從其他構建文件加載螞蟻屬性
- 21. 回聲螞蟻屬性到一個文件
- 22. 螞蟻:掃描文件,並寫入屬性
- 23. 螞蟻構建失敗 - 因爲螞蟻忘記屬性?
- 24. 螞蟻除非屬性不工作?
- 25. junit系統屬性與螞蟻
- 26. 螞蟻var和屬性範圍
- 27. 如何讓螞蟻屬性文件對項目的所有的build.xml文件
- 28. 條件屬性
- 29. 條件屬性
- 30. 屬性文件中的值註釋在linux中加載螞蟻的代碼
謝謝。但是,我問的是'property'文件,而不是'build.xml'。或者,如果我對你有所瞭解,「條件」任務是實現目標的唯一方法嗎? – BreakPhreak
你可以閱讀build xml中的屬性文件,並且以後可以根據相關屬性定義新屬性... – Vishal
我希望有一些可以重複使用的屬性文件(有條件)可以被幾個'build.xml '文件。我瞄準了錯誤的方向嗎? – BreakPhreak