使用JNA时碰到的坑:Can't obtain InputStream for linux-x86-64/libXXX.so
比如使用JNA时需要动态加载 libsgd.so,使用Native.load(“sgd”,FmSGDLibrary.class) 时总是会报 Can’t obtain InputStream for linux-x86-64/libsgd.so 的错误,虽然通过设置环境变量可以解决问题 :
#/tmp/lib/ 是so文件所在路径,自由调整 |
但是这个方式也太不灵活了,能不能只通过java代码就能动态加载动态链接库呢?
答案是有的,通过Native.loadlibrary使用绝对路径加载就行了。
Native.loadLibrary("/tmp/lib/libsgd.so", FmSGDLibrary.class); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 叶落花开的博客!
评论