Java 生成dmg文件时获取生成失败错误

Java 生成dmg文件时获取生成失败错误,java,macos,deployment,ant,dmg,Java,Macos,Deployment,Ant,Dmg,我正在使用ant工具构建dmg文件,但在构建时出错 build.xml的摘录: ... <copy todir="${mac.build.dir}/.background"> <fileset file="${basedir}/build/installer/images/mac/dmgBackground.png"/> </copy>

我正在使用ant工具构建dmg文件,但在构建时出错

build.xml的摘录:

            ...
            <copy todir="${mac.build.dir}/.background">
                    <fileset file="${basedir}/build/installer/images/mac/dmgBackground.png"/>
            </copy>

            <symlink link="${mac.build.dir}/Applications" overwrite="true" resource="/Applications" />
            <echo message="Create tmp.dmg"/>
            <exec executable="hdiutil" failonerror="true">
                    <arg line="create -srcfolder '${mac.build.dir}' -volname '${mac.volname}' -fs HFS+ -fsargs '-c c=64,a=16,e=16' -format UDRW '${target}/tmp.dmg'"/>
            </exec>
            ....
我使用脚本调用dmg文件创建是
antinstaller.mac


我调用的目标是正确的还是错误的?

Ant的
symlink
任务在Windows变体上不起作用

见下文:

从:

在基于Unix的平台上管理符号链接。可用于创建单个链接、删除链接、从属性文件创建多个链接,或创建描述指定目录中链接的属性文件。默认情况下不会覆盖现有链接

。。。而且

限制:因为Java不直接支持处理符号链接,所以此任务通过比较规范路径和绝对路径来预测符号链接。在非unix系统上,这可能会导致误报此外,如果命令ln-s不是命令行上的有效命令,则任何操作系统都将无法使用action=“single”或action=“recreate”。action=“record”和action=delete仍然可以工作。最后,Java中缺乏对符号链接的支持意味着所有链接都被记录为指向规范化资源名称的链接。因此,link:link-->subdir/dir/./foo.bar将记录为link=subdir/foo.bar,并恢复为link-->subdir/foo.bar



至于如何修复它,我现在是我的深度,因为我从来没有做过DMG之前。但是,符号链接是指向“应用程序”文件夹的链接,可能只是为了方便用户将应用程序拖动到一个方便的链接,以便复制到应用程序中。因此,这种联系可能并非绝对必要。如果有人能对此有所了解,请这样做。

我是ant build tool的初学者,如果可能的话,你能为smlink修改一下吗?很遗憾,我已经没有经验了-你有Mac电脑可以试用DMG吗?你能在那里建立DMG吗?有关可能省略符号链接步骤的信息,请参见我的编辑(上文)。问题是我没有Mac。感谢Buddy的帮助。我会尝试你的建议
**BUILD FAILED
D:\DevProjects\spark\build\build.xml:761: Could not launch ln: java.io.IOException: Cannot run program "ln": CreateProcess error=2, The system cannot find the file specified**