0

我正在尝试自动构建 Mac OS X 捆绑应用程序。当使用复制标签复制“Unix Executable File”类型的文件“/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub”时: <copy file="${stub.file}" todir="${dist.dir}/${ant.project.name}.app/Contents/MacOS"/>并获取“Document”类型的文件和包不执行。如果我从 Finder 复制它,它工作正常。

有没有办法复制它并保持它对蚂蚁的友善?

提前致谢!

4

1 回答 1

1

该文件被正确复制,但执行权限丢失,如ant手册中所述:

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

您必须cp稍后使用该命令或更改权限chmod

<apply executable="chmod">
  <arg value="a+rx"/>
  <file file="${stub.file}" basedir="${dist.dir}/${ant.project.name}.app/Contents/MacOS"/>
</apply>
于 2012-07-15T11:55:06.217 回答