Eclipse插件:“Bundle-NativeCode”部分中的本机库顺序

时间:2014-03-01 21:21:01

标签: java eclipse osgi eclipse-rcp equinox

回想Bundle-NativeCode中的MAINFEST.MF部分:

Bundle-NativeCode: 
  lib/windows/x64/Library1.dll;
  lib/windows/x64/Library2.dll;
  ...
  osname=win32; processor=x86_64

事实上,我在那里有大约一百个图书馆。我发现,根据指定的顺序,插件可能无法加载以下消息:

!MESSAGE Missing native code match lib/windows/x64/Library1.dll; lib/windows/x64/Library2.dll; ...

起初,我认为原因可能是本机库本身之间的依赖关系。换句话说,我认为OSGi可能希望我按照它们的依赖顺序列出这些本机库,即首先是最独立的库。根据他们的顺序对数百个库进行了几个小时的排序后,它再次失败了,这证明了这不是原因。我有一个偶然发现的魔法顺序,当它成功加载时,它不像任何模式,它绝对是随机顺序。如果我开始改变它,那么它再次失败的可能性很高。例如,我想按字母顺序对它们进行排序,这不起作用。

任何人都可以澄清发生了什么。我已经在这个问题上浪费了很多时间,我很困惑地球上的这种情况如何发生以及如何修复它。

1 个答案:

答案 0 :(得分:1)

订单无关紧要。既然你有这么多的图书馆。确保你使用“;”分开他们。使用“,”将启动一个新子句,如果子句上没有匹配的属性,则可能导致错误。