问题是专门的JNA
loadLibrary调用,它不支持OSGi。当您从OSGi捆绑软件调用loadLibrary时,它将使用OSGi类加载器(支持捆绑软件)查找DLL的位置,在这种情况下,将其从捆绑软件中提取出来并通过System.loadLibrary()使其可加载。针对特定位置致电。
由于此JNA似乎(a)不了解OSGi,并且(b)多余,为什么不只使用System.loadLibrary()呢?
如果您需要同时编写两者,请在BundleActivator的bundle的start()方法中执行System.loadLibrary(),这将带入本机库(您可能想确保如果无法加载该包,在任何情况下都无法启动)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)