我正在尝试从属性文件中读取属性并分配给其他名称,但它不起作用。我是蚂蚁的新手所以我想我错过了一些基本的东西。
build.properties:
USERNAME=deter_dangler
的build.xml:
<project name="Simple Ant example" default="test" basedir=".">
<property file="build.properties"/>
<property environment="env"/>
<property name="uname" value="${env.USERNAME}"/>
<target name="test">
<echo message="uname property value is ${uname}"/>
<echo message="env.USERNAME property value is ${env.USERNAME}"/>
</target>
</project>
运行build命令时的输出:
javanoob@DELL:~/Desktop$ ant
Buildfile: /Desktop/build.xml
test:
[echo] uname property value is ${env.USERNAME}
[echo] env.USERNAME property value is ${env.USERNAME}
BUILD SUCCESSFUL
Total time: 0 seconds
答案 0 :(得分:1)
尝试按如下方式设置环境变量:
USERNAME=deter_dangler ant
或者,如果要使用属性文件,则按如下方式简化ANT文件:
<project name="Simple Ant example" default="test" basedir=".">
<property file="build.properties"/>
<target name="test">
<echo message="uname property value is ${USERNAME}"/>
</target>
</project>
答案 1 :(得分:0)
我认为可能是使用简单的不正确的环境变量,即,默认情况下USER
在Linux机器上可用,而无需由用户明确定义,并且您正在使用USERNAME
。我认为这是用户期望的,因为他试图从属性打印值,而另一个是从系统定义的默认值。
因此,只需替换build.properties
和build.xml
文件中的上述更改。
<强> build.properties 强>
USER=deter_dangler
<强>的build.xml 强>
<project name="Simple Ant example" default="test" basedir=".">
<property file="build.properties"/>
<property environment="env"/>
<property name="uname" value="${USER}"/>
<target name="test">
<echo message="uname property value is ${uname}"/>
<echo message="env.USER property value is ${env.USER}"/>
</target>
</project>
<强>输出强>
Buildfile: /home/apps/Documents/so/34553709/build.xml
test:
[echo] uname property value is deter_dangler
[echo] env.USER property value is apps
BUILD SUCCESSFUL
Total time: 1 second
&#13;
在上文中,如果您注意到,${USER}
来自系统登录用户的属性文件和${env.USER}
。