如果我通过将变量传递给ant
ant -Dsomething=blah
Run Code Online (Sandbox Code Playgroud)
如何在build.xml中引用它?我尝试了@ something @和$ {something},但似乎都没有用。
最终,我想做的是在编译时设置一些属性(版本)。
更新:当然,问题出在其他地方-接受最完整的示例答案
当您考虑以下这些内容时,您是否不讨厌它:
<project name="test">
<echo message="The value of foo is ${foo}"/>
</project>
Run Code Online (Sandbox Code Playgroud)
现在,我将运行程序。请注意,我从来没有定义属性的值foo在我的build.xml。相反,我将从命令行获取它:
$ ant -Dfoo=BAR_BAR_FOO
test:
[echo] The value of foo is BAR_BAR_FOO
BUILD SUCCESSFUL
time: 0 seconds
Run Code Online (Sandbox Code Playgroud)
看到。没什么特别的。您可以像对待常规属性一样对待在命令行上设置的属性。
这就是有趣的地方。请注意,foo我build.xml这次已经定义了该属性:
<project name="test">
<property name="foo" value="barfu"/>
<echo message="The value of foo is ${foo}"/>
</project>
Run Code Online (Sandbox Code Playgroud)
现在观看乐趣:
$ ant
test:
[echo] The value of foo is barfu
BUILD SUCCESSFUL
time: 0 seconds
Run Code Online (Sandbox Code Playgroud)
现在,我们将foo在命令行上设置属性:
$ ant -Dfoo=BAR_BAR_FOO
test:
[echo] The value of foo is BAR_BAR_FOO
BUILD SUCCESSFUL
time: 0 seconds
Run Code Online (Sandbox Code Playgroud)
看到命令行覆盖了我在build.xml文件本身中设置的值。这样,您可以拥有可以被命令行参数覆盖的默认值。
| 归档时间: |
|
| 查看次数: |
3379 次 |
| 最近记录: |