ant - 如果 Ant 中 undefined variable ,则引发错误

标签 ant

我需要用户在编译时定义一个变量,我仍然必须决定它是环境变量还是属性( 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/

相关文章:

php - 使用Gradle将Scp Php文件导入服务器

ant - Sonar 插件不适用于使用 ANT 作为构建脚本的项目

java - 如何在eclipse juno中导入并运行ivy+ant项目

java - 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的 JRE

ant - 元素 "ivy"的前缀 "ivy:cachepath"未绑定(bind)

java - 我可以使用 Ant 检测我是否在 Linux 系统(而不是通用 Unix 系统)上吗?

java - 使用 Ant 将 War 构建为文件夹

ant - SCP/SSHEXEC - 连接尝试次数

netbeans - 尝试编译 JVisualVM 时构建失败

java - ant 1.9 中使用 ivy 的 junit 任务失败,并出现 junit.framework.AssertionFailedError : No tests found