MacOS Catalina是否剥离zip文件中的可执行文件权限?

问题描述

我已经使用OpenJDK 11和Apache Commons Compress 1.20创建了一个zip文件,该文件是由使用Netty服务器的API返回的。该zip文件包含具有可执行文件权限(755)的gradle包装器。

-rwxr-xr-x  1 myuser  mygroup  5766 Aug 24 16:03 gradlew

我用Commons Compress压缩它,并在API响应中返回它,然后浏览器将zip保存到磁盘。

如果我将压缩文件提取 MacOS Mojave 中,则gradle包装器文件如下所示(列出了扩展的文件属性):

ls -al@ gradlew
-rwxr-xr-x@  1 myuser  mygroup    5766 Nov 30  1979 gradlew
    com.apple.quarantine        56

好,它已被隔离,但仍可执行。执行起来很好。

如果我将压缩文件解压缩到 MacOS Catalina 中,则gradle包装器文件如下(带有扩展文件属性列表):

ls -al@ gradlew
-rw-rw-r--@  1 myuser  mygroup    5766 Nov 30  1979 gradlew
    com.apple.quarantine        57

可执行文件权限已由Catalina删除。除了通过在解压缩后添加可执行文件权限之外,是否有其他方法可以解决此问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)