我正在尝试自动构建Mac OS X捆绑应用程序。
使用copy标签复制“Unix可执行文件”类文件“/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub”时:
<copy file="${stub.file}" todir="${dist.dir}/${ant.project.name}.app/Contents/MacOS"/>
并获取一个类型为“文档”的文件,并且该包不会执行。如果我从Finder复制它可以正常工作。
有没有办法复制它并与蚂蚁保持一致?
提前致谢!
答案 0 :(得分:1)
文件正确复制,但执行权限已丢失,如ant manual中所述:
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>