当前位置: 代码迷 >> 综合 >> 删除 mac 压缩文件 .zip 下的 __MACOSX 目录
  详细解决方案

删除 mac 压缩文件 .zip 下的 __MACOSX 目录

热度:55   发布时间:2024-01-29 11:22:57.0

在 mac 下,压缩文件的时候会自动生成一个 __MACOSX 目录。

起因是这样的,需要破解 aspose jar 包,先把 .jar 改为 .zip 然后解压,然后修改完之后再压缩为 .zip 然后修改后缀名为 .jar 。在 main() 方法中调用的时候一切正常,在 tomcat 启动的时候报了:

SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [__MACOSX/com/aspose/words/._zzZZQ.class] from Jar [jar:file:/Users/xxx/target/xxxWEB-INF/lib/xxx.jar!/] for annotationsorg.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file

._zzZZQ.class 这个字节码的格式不正确,找了下找不到这样一个类,以 . 开头的类比较奇怪。然后自己观察了下,这个类位于 __MACOSX/com/aspose/words/ 这个目录下。然后查找了下 __MACOSX 目录生成的原因。

后来找到了删除的方法。

zip -d file.zip __MACOSX/\*

参考链接:stackoverflow