3

我有一个 Eclipse 插件(由第三方开发,没有可用的源代码),它使用二进制库来完成它的一些工作。该库是开源的。分布式插件仅包含 Windows 的二进制文件,但我可以轻松地为其他平台编译它。我不知道在哪里放置图书馆以便将其拾取。我目前正在使用 OS X,但 Linux 也是一个问题。

Windows 库位于 eclipse/plugins/plugin_name/os/win32/x86 中。我试过使用 os/macosx/x86_64 (对应于 org.eclipse.osgi.service.environments 中的常量)和一堆其他变体,但没有任何作用,我找不到任何关于 eclipse 如何设置的文档库路径。

我应该在哪里将库放在插件子目录中,以便 eclipse 为适当的平台加载它们?

4

1 回答 1

1

二进制库(例如 *.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,您应该完成了!

于 2011-06-10T15:52:41.227 回答