我在一个产品上工作,这个产品构建在Eclipse RCP之上,并且有很多与之相关的插件。产品构建被导出为适用于mac的.zip文件。但是,在mac中使用默认存档实用程序解压缩zip文件,然后尝试运行该产品后,会出现一个对话框,其中显示消息"Unable to locate companion library“。这个问题是在将mac更新到Sierra之后才出现的;它在El Capitan上工作得很好。
我已经尝试了不同的帖子所建议的几种方法,比如
1)检查.ini文件中的路径
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.300.v20150602-1417这些路径非常好,并且指定的路径上分别存在启动jar和启动器文件夹。
2)使用不同的提取器
我使用了适用于mac的Keka提取器,并用它解压缩了构建,令人惊讶的是,产品运行起来了。我通过存档工具和keka查看了解压缩后的构建的目录结构。我注意到,在由归档工具提取的构建中,有一些东西遗漏了,比如configuration和p2文件夹中的一些目录。我不知道是什么引起的。
由于许多产品用户只是在mac中使用默认的归档工具,是否有可能以某种方式修复这个问题,而不让用户下载额外的解压程序,如keka?
发布于 2017-07-19 03:26:15
我发现Talend in Sierra (也是一个基于eclipse的应用程序)也存在同样的问题。下面的命令行似乎解决了这个问题:xattr -c TOS_DI-macosx-cocoa.app或通用的xattr -c NameOfYourApp.app
https://stackoverflow.com/questions/43060242
复制相似问题