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