我写了ant build脚本。我需要创建一个符号链接,然后找到symlink任务。根据手册,它只适用于Unix。如果有人在Windows平台上运行我的构建脚本会发生什么?构建会失败吗?或者在Windows平台上会忽略此任务?或者在NTFS驱动器的情况下,它甚至可以工作吗?
答案 0 :(得分:3)
我正在运行Win7,我试过了。因为我有Mingw安装它使用ln。 Ln似乎只是为了复制一切。由于正常的Windows安装没有ln,因此会失败。
这是没有ln:
的情况C:\Users\Janus\Desktop>.\apache-ant-1.8.2\bin\ant
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: C:\Users\Janus\Desktop\build.xml
dist:
BUILD FAILED
C:\Users\Janus\Desktop\build.xml:3: Could not launch ln: java.io.IOException: Cannot run program "ln": CreateProcess error=2, The system can
not find the file specified
Total time: 1 second
C:\Users\Janus\Desktop>
在build.xml:
<project name="MyProject" default="dist" basedir=".">
<target name="dist">
<symlink link="lol" resource="d3dwindower" />
</target>
</project>
答案 1 :(得分:1)
我创建了一个条件属性来识别我是否在unix上运行:
<condition property="isUnix">
<os family="unix"/>
</condition>
然后在我的目标上使用'if'属性,这样只有在unix上才会执行:
<target name="makeSymLinkToJar" depends="jar" if="isUnix">
<symlink link="${distlink.jar}" resource="${dist.jar}"/>
</target>