我需要用户在编译时定义一个变量,我仍然必须决定它是环境变量还是属性( ant -Dname=value
)。
如果用户 undefined variable ,如何在编译时引发错误?
最佳答案
第一个问题:
如果该变量用于应用程序之外的特定于环境的条件,则将其设为环境 (OS) 变量。否则,将其设为属性。显然,这并不能完全回答您的问题,因为您仍然必须确定(对于您的应用程序或系统)说一个变量是特定于环境的意味着什么。
另一个指南是问自己是否可以(或将拥有)多个依赖于同一变量的不同值的应用程序,所有应用程序都可能部署在同一系统上。在这种情况下,我们不能使用环境变量,只能使用基于属性的变量。
第二个问题:
使用 Ant 内置 Fail 如果未设置条件或属性,则中止构建的任务。来自 Ant 关于 的文档失败 任务,如果您使用基于属性的变量,您可以了解如何执行它:
<fail>
<condition>
<not>
<isset property="thisdoesnotexist"/>
</not>
</condition>
</fail>
如果您决定使用环境变量,只需使用 环境 的属性属性(property)使用环境 (OS) 变量的任务,就像它们是构建属性一样(请参阅 applicable documentation 以获取示例。)
希望它有帮助。
关于ant - 如果 Ant 中 undefined variable ,则引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5461331/