簡體   English   中英

從文件中讀取屬性並在ant中分配給其他名稱?

[英]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.propertiesbuild.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM