OSGI Bundle-NativeCode 给出错误 "No match found for native code"
OSGI Bundle-NativeCode give error "No match found for native code"
我正在开发一个使用本机库 librxtxSerial 的 OSGI 包。
第一次,我不得不在树莓派上部署这个包,所以我做了类似的事情:
我将本机库放在:lib/librxtxSerial.so 下(注意:在 java 项目中)。
然后,在我写的 MANIFEST 中:
Bundle-NativeCode: lib/librxtxSerial.so
一切正常!!!
现在,问题是我必须在使用不同处理器架构(x86 而不是 ARM)的其他嵌入式设备上部署相同的包。
所以,我已经下载了 librxtxSerial 库的 x86 版本,并且我修改了我的文件夹结构,如下所示:
- lib
- x86
- librxtxSerial.so
- arm
- librxtxSerial.so
并且我以这种方式修改了我的 MANIFEST:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le
尝试编译(通过 maven tycho 插件)我总是得到同样的错误:
No match found for native code: lib/x86/librxtxSerial; processor=x86, lib/arm/librxtxSerial; processor=ARM_le
我该如何解决这个问题?
好的,我已经解决了。不知道为什么,但为了解决这个问题,在 header 末尾添加 '*' 就足够了,所以:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le, *
现在可以使用了。
我正在开发一个使用本机库 librxtxSerial 的 OSGI 包。 第一次,我不得不在树莓派上部署这个包,所以我做了类似的事情:
我将本机库放在:lib/librxtxSerial.so 下(注意:在 java 项目中)。
然后,在我写的 MANIFEST 中:
Bundle-NativeCode: lib/librxtxSerial.so
一切正常!!!
现在,问题是我必须在使用不同处理器架构(x86 而不是 ARM)的其他嵌入式设备上部署相同的包。
所以,我已经下载了 librxtxSerial 库的 x86 版本,并且我修改了我的文件夹结构,如下所示:
- lib
- x86
- librxtxSerial.so
- arm
- librxtxSerial.so
并且我以这种方式修改了我的 MANIFEST:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le
尝试编译(通过 maven tycho 插件)我总是得到同样的错误:
No match found for native code: lib/x86/librxtxSerial; processor=x86, lib/arm/librxtxSerial; processor=ARM_le
我该如何解决这个问题?
好的,我已经解决了。不知道为什么,但为了解决这个问题,在 header 末尾添加 '*' 就足够了,所以:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le, *
现在可以使用了。