macos – 如何在ant copy任务中保留exec文件

我使用Ant为Mac OS X创建了 Java FX软件包.它用两个文件创建包 –
1. MyApplication.app
2. MyApplication.dmg

我希望将这两个文件复制到其他文件夹中,所以我在build.xml中编写了命令 –

<copy todir="my_new_folder">
   <fileset dir="old_folder\bundles"/>
</copy>

它在“my_new_folder”处成功复制了两个文件.但是从“my_new_folder”运行.app并没有启动我的应用程序虽然它正在从“old_folder”正确启动.

在比较复制的应用程序时,我发现exec(Unix可执行文件)驻留在MacOS文件夹(“显示包内容/内容/ MacOS”)不保留,其类型在文档文件中发生了变化.

如何保存它对Unix可执行文件的类型,因为我只是执行简单的复制目录.

谢谢,
尼拉姆夏尔马

如蚂蚁复制任务 guide中所述:

Unix Note: File permissions are not retained when files are copied; they end up with the default UMASK permissions instead. This is caused by the lack of any means to query or set file permissions in the current Java runtimes. If you need a permission-preserving copy function, use this instead:

<exec executable="cp" ... >

因此,在您的情况下,请替换< copy>有:

<exec executable="cp">
    <arg line="-R old_folder/bundles my_new_folder"/>
</exec>

(请注意,即使在Windows下使用此ant脚本,也应使用正斜杠).

相关文章
相关标签/搜索