我想使用 ant 符号链接目标创建符号链接。我知道符号链接内部使用 linux 支持的 ln -s 命令,现在我主要关心的是它也应该在 Windows 平台上工作,我在发布这个之前确实进行了搜索。当我需要使用 ant 符号链接目标在窗口上创建链接时,那里的链接并没有真正的帮助。我不想使用Cygwin或任何其他Windows的Linux模拟器来使其正常工作。
当我在窗口上运行符号链接任务时,我实际上收到以下错误
setup.links:
[symlink] ln -s D:context-rem.xml D:resourcescontext-rem.xml
Could not launch ln: java.io.IOException: Cannot run program "ln": CreateProcess error=2, The system cannot find the file specified
我使用的 Ant 命令
<symlink link="context-rem.xml" failOnError="false" resource="resources/context-rem.xml" overwrite="true"/>
这个不同问题的答案提供了几个选项,用于从命令行创建 Windows 等效的符号链接: https://stackoverflow.com/a/46887/139985
您需要将其转换为运行相关 Windows 命令的 Ant 任务。
我使用了下一个ant任务:
<exec executable="cmd" os="Windows 10">
<arg value="/c"/>
<arg line="mklink /D ${symLinkDir} ${sourceDir}"/>
</exec>
其中symLinkDir
是新符号链接目录的完整路径,sourceDir
是真正的源目录。