我正在使用Ant创建安装程序,我遇到了问题。我需要创建一个具有不同扩展名的文件,具体取决于平台(Unix或Windows),但我不知道如何从Ant获取当前平台。
任何人都可以帮助我吗?先感谢您, 约书亚。
答案 0 :(得分:4)
这是你在build.xml
尝试做的事吗? <condition>
任务支持条件os
,它可以帮助您确定安装脚本的平台:
<condition property="is.windows">
<os family="windows"/>
</condition>
然后你可以将任务分成Unix和Windows:
<target name="deploy"
depends="deploy.unix, deploy.windows">
<yadda/>
<yadda/>
<yadda/>
</target>
<target name="deploy.unix"
unless="is.windows">
<yadda/>
<yadda/>
<yadda/>
</target>
<target name="deploy.windows"
if="is.windows">
<yadda/>
<yadda/>
<yadda/>
</target>
deploy
目标会同时调用deploy.unix
和deploy.windows
。但是,如果它是Windows系统,则会跳过deploy.unix
目标,如果它不是Windows系统,则会跳过deploy.windows
。
而且,如果你正在使用<exec>
任务,你还可以指定你是在运行Windows还是Unix:
<exec executable="${unix.program}"
osfamily="unix"/>
<exec executable="${windows.program}"
osfamily="windows"/>