从文件中加载内容作为 ant 中的参数

Load content from file as argument in ant

假设我有一个文件 test.key 并且该文件包含一个字符串 let call “123456789”。 如何将此文件作为参数传递给 ant build 中的程序? 我想知道这样的事情是否可能? ant -Darg=‘cat test.key’

其中 cat test.key 是 Linux 终端上的命令。

您可以使用 LoadFile ant 任务,它将文件内容读入 属性: https://ant.apache.org/manual/Tasks/loadfile.html

<loadfile property="arg.value"
      srcFile="test.key"
      failonerror="false"/>

然后您可以在具有此 属性 的 exec 任务中使用此 属性: https://ant.apache.org/manual/Tasks/exec.html

<exec executable="myprogram">
  <arg value="${arg.value}"/>
</exec>

为了增加一些灵活性,您可以将文件名作为 属性:

ant -Dfile.name=test.key

因此 LoadFile 任务变为:

    <loadfile property="arg.value"
      srcFile="${file.name}"
      failonerror="false"/>