我对Ant很陌生,我发现了这段代码来获取本地ip地址:
<target name="if_windows" depends="checkos" if="isWindows">
<exec executable="cmd" outputproperty="myHostName">
<arg value="/c" />
<arg value="hostname"/>
</exec>
<exec executable="cmd" outputproperty="infraServerIPTemp" >
<arg value="/c"/>
<arg value="FOR /f "tokens=1 delims=:" %d IN ('ping ${myHostName} -4 -n 1 ^| find /i "reply"') DO FOR /F "tokens=3 delims= " %g IN ("%d") DO echo infraServerIP=%g > myIP.properties"/>
</exec>
<property file="myIP.properties"/>
</target>
现在的问题是,我已经试了几个小时把它放在一处房产里,而不是一个房产文件里。但我就是做不到。有人能帮我一把吗?
谢谢,
尝试:
<target name="Foo2">
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/><!--On Windows the hostname is in the environment variable 'COMPUTERNAME', on Linux the environment variable is 'HOSTNAME'-->
<hostinfo prefix="host" host="${env.HOSTNAME}" />
<echo>${host.ADDR4}</echo>
</target>
我不确定是否有一种简单的方法可以做到这一点——IP可能取决于你的互联网适配器。在我的情况下,我有两个虚拟加法器,但这个灵魂没有起作用。
检查如何使用Ant主题获得完全合格的主机名