Java项目打成jar包后JNA对so文件路径调用UnsatisfiedLinkError问题
作者:互联网
项目比较紧张,不能谈论细节,只是做一个记录,关于生成dll文件可以看这篇:查看(有问题可以私我)
最近项目用了dll动态库和so库,分别是在Windows上调用dll和linux上调用so库的问题。使用了jna就需要对dll文件或者so文件进行加载,就衍生出了JNA对资源的路径加载问题,如果在idea中,可以通过run > editConfigrations > VM options 进行设置,值为dll文件放置的路径。如下图;下面我们谈下项目打包成jar包后放置在路径中无法加载的问题;
项目必须运行在Linux系统上,所以需要对项目打成jar包,然后在项目里面调用so文件中的方法
解决方法:
- 将so文件放到
/usr/lib/
目录下,如图
- 更改对接口Library的实现类中Native.loadLibrary()的加载路径,更改为Linux中的实际路径,如下所示
推荐一篇写的较好的关于jna路径问题的帖子,可以尝试一下:[查看](https://blog.csdn.net/Fighting_Boss/article/details/86535396)
标签:文件,包后,Java,路径,jar,dll,so,加载 来源: https://blog.csdn.net/qq_42910468/article/details/97896887