Hvad sker der, hvis nogen kører Ant symlink-opgave på Windows (NTFS)?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skriver ant build script. Jeg skal oprette en symlink og jeg fandt symlink opgave. Ifølge manualen fungerer det kun på Unix. Hvad sker der, hvis nogen kører mit build script på Windows platform? Vil bygge fejl? Eller vil denne opgave blive ignoreret på Windows-platformen? Eller i tilfælde af NTFS-drev, vil det endda fungere? [5]

Bedste reference


Jeg kører Win7, og jeg prøvede det. Da jeg har installeret Mingw, brugte den ln. Ln syntes bare at kopiere alt. Da en normal Windows-installation ikke har ln, ville det mislykkes der.


Her er hvad der sker uden ln:


C:UsersJanusDesktop>.apache-ant-1.8.2inant
Unable to locate tools.jar. Expected to find it in C:Program FilesJavajre6lib	ools.jar
Buildfile: C:UsersJanusDesktopuild.xml

dist:

BUILD FAILED
C:UsersJanusDesktopuild.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:UsersJanusDesktop>


build.xml:


<project name="MyProject" default="dist" basedir=".">
<target name="dist">
<symlink link="lol" resource="d3dwindower" />
</target>
</project>

Andre referencer 1


Jeg oprettede en betingelsesegenskab til at identificere, om jeg kører på unix:


<condition property="isUnix">
  <os family="unix"/>
</condition>


og brug derefter en 'if' -attribut på mit mål, så det vil kun blive udført, hvis det er på unix:


<target name="makeSymLinkToJar" depends="jar" if="isUnix">
    <symlink link="${distlink.jar}" resource="${dist.jar}"/>
</target>