eclipse 在哪里寻找插件中的二进制库?

发布于 2024-11-14 15:45:26 字数 380 浏览 2 评论 0原文

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

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

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

I have an eclipse plugin (developed by a third party, no source code available) that uses a binary library to do some of its work. The library is open source. The distributed plugin includes only the binary for Windows, but I can easily compile it for other platforms. What I can't figure out is where to put the library so that it will be picked up. I'm currently working on OS X, but Linux is an issue as well.

The Windows library is placed in eclipse/plugins/plugin_name/os/win32/x86. I've tried using os/macosx/x86_64 (which corresponds to the the constants in org.eclipse.osgi.service.environments) and a bunch of other variants but nothing works, and I can't find any documentation on how eclipse sets the library path.

Where should I put libraries in a plugin sub-directory so that eclipse will load them for the appropriate platform?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-11-21 15:45:26

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

Binary libraries (*.dll for example) can be bundled within the plugin JAR itself. In this case it is probably in /os/win32/x86/thelib.dll.

If you can edit the META-INF/MANIFEST.MF in the thirdparty plugin (unzip the jar file), check for the header "Bundle-NativeCode". For example:

Bundle-NativeCode: /os/win32/x86;osname=win32;processor=x86

Then you could add paths for OS X this way:

Bundle-NativeCode: /os/win32/x86;osname=win32;processor=x86, /os/osx/x86; osname=macosx;processor=x86

Place OS X libs in the corresponding folder, rezip the jar and you should be done!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文