7

我已经使用 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 可执行文件中。

谢谢,尼拉姆夏尔马

4

1 回答 1

8

蚂蚁副本任务 指南中所述:

Unix 注意:复制文件时不保留文件权限;他们最终获得了默认的 UMASK 权限。这是由于在当前 Java 运行时中缺乏任何查询或设置文件权限的方法造成的。如果您需要保留权限的复制功能,请改用:

<exec executable="cp" ... >

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

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

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

于 2013-01-30T13:53:42.123 回答