从文件中读取属性,并在ant中指定一个不同的名称



我正试图从属性文件中读取一个属性并分配给另一个名称,但它不起作用。我是蚂蚁的新手,所以我想我错过了一些基本的东西。

内部版本属性:

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>

我认为这可能是使用的简单错误的环境变量,即默认情况下,USER在linux机器上可用,而无需用户明确定义,并且您使用的是USERNAME。我认为这就是用户所期望的,因为他试图从属性中打印值,并从系统定义的默认值中打印另一个值。

因此,只需替换build.propertiesbuild.xml文件中的上述更改。

内部版本属性

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}取自系统登录用户。

相关内容

  • 没有找到相关文章

最新更新