[英]Read property from file and assign to a different name in ant?
我正在尝试从属性文件中读取属性并分配给其他名称,但是它不起作用。 我是蚂蚁的新手,所以我想我缺少一些基本的知识。
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>
运行构建命令时的输出:
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
尝试如下设置环境变量:
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>
我相信这可能是使用了简单的不正确的环境变量,即,默认情况下,Linux计算机上可以使用USER
而无需由用户显式定义并且您正在使用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
在上面,如果您注意到, ${USER}
来自属性文件 , ${env.USER}
来自系统登录用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.