我的构建文件是
<target name="default">
<antcall target="child_target"/>
<echo> ${prop1} </echo>
</target>
<target name="child_target">
<property name="prop1" value="val1"/>
</target>
我收到错误${prop1}
尚未设置。如何在目标中设置属性?
答案 0 :(得分:18)
antcall创建一个新项目。来自Ant文档:
被叫目标以新的方式运行 项目;请注意,这意味着 由...设置的属性,引用等 被叫目标不会持久 到调用项目。
使用取而代之:
<project default="default">
<target name="default" depends="child_target">
<echo>${prop1}</echo>
</target>
<target name="child_target">
<property name="prop1" value="val1"/>
</target>
</project>
答案 1 :(得分:3)
我知道旧的,可能已死的问题,但是在目标之外但在项目内部加载的属性文件也可以。 Android使用local.properties这样做:
<?xml version="1.0" encoding="UTF-8"?>
<project name="avia" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />