我有一个eclipse插件(由第三方开发,没有可用的源代码),它使用二进制库来完成它的一些工作。 该图书馆是开源的。 分布式插件仅包含Windows的二进制文件,但我可以轻松地将其编译为其他平台。 我无法弄清楚是在哪里把图书馆,以便它将被拿起。 我目前正在使用OS X,但Linux也是一个问题。
Windows库位于eclipse / plugins / plugin_name / os / win32 / x86中。 我已经尝试使用os / macosx / x86_64(它对应于org.eclipse.osgi.service.environments中的常量)和一堆其他变体,但没有任何工作,我找不到任何有关如何设置eclipse的文档图书馆的path。
我应该在哪里把库放在一个插件的子目录,以便日食会加载他们的适当的平台?
二进制库(例如* .dll)可以捆绑在插件JAR本身中。 在这种情况下,它可能在/os/win32/x86/thelib.dll中。
如果您可以编辑第三方插件中的META-INF / MANIFEST.MF(解压缩jar文件),请检查头文件“Bundle-NativeCode”。 例如:
Bundle-NativeCode: /os/win32/x86;osname=win32;processor=x86
然后你可以这样添加OS X的路径:
Bundle-NativeCode: /os/win32/x86;osname=win32;processor=x86, /os/osx/x86; osname=macosx;processor=x86
将OS X库放在相应的文件夹中,重新解压缩jar,你应该完成!