我有一个需要DLL的Eclipse RCP插件。
将DLL引用添加到MANIFEST的建议最佳做法是什么?应该在哪里找到DLL,建议的目录名是什么?
我读过相互矛盾的做法。有些人要求您创建一个具有体系结构和处理器类型的文件夹,有些人要求在Manifest上设置一些平台过滤器....
答案 0 :(得分:2)
eclipse应用程序的最佳方法是使用插件片段。标准的eclipse项目(带有dll)将为所有支持的平台提供多个片段。只有目标平台(在平台过滤器中指定)才会激活片段。
从eclipse文档(随标准eclipse安装提供)
平台过滤器是一个有效的LDAP字符串,必须在正在运行的系统中评估为true才能运行该插件。例如,以下过滤器指示插件仅设计为在具有win32窗口系统的平台上运行:Eclipse-PlatformFilter:(ws = win32)。如果用户尝试在不满足此要求的平台上运行Eclipse,则运行时将忽略该插件。
答案 1 :(得分:1)
由于Eclipse RCP基于OSGi,因此您还可以使用OSGi 4.1文档来处理本机代码。我相信Eclipse人员已经开始推荐OSGi方法,但我不记得我在哪里看到了这个建议。
我使用了Malaxeur的建议来使用片段和过滤器。片段/包中的实际布局无关紧要,但如果我有多个库,我会创建一个单独的lib
目录。
OSGi 4.1规范是here。
答案 2 :(得分:0)
我将遵循org.eclipse.swt.win32片段的示例,并将它们捆绑在jar的根目录中。
作为参考,SWT Examples documentation的一部分描述了如何独立运行示例。