java使用jna调取so/dll文件时的路径问题

一米阳光zw
Java领域优质创作者
博客专家认证
2019-07-30 11:13:19
不知道各位大神是否使用jna调用dll和so的经历,还望不吝赐教。首先从封装dll和so的事就让人够难受了,在Windows上使用idea的时候是通过在run 》 edit configration里面设置参数代码才能正常调用。如果开发工具不设置这个属性都无法调用,许多网友说例如将dll放入win32目录中,还有放在根目录下或者创建lib目录然后放在里面,都是无法加载的,都是因为路径问题,请问各位大神是如何解决这个问题的,在此谢过了,感谢各位!!!
...全文
1837 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一米阳光zw 2021-05-22
  • 打赏
  • 举报
回复
引用 3 楼 cyy298 的回复:
dll在项目路径下,项目需要编译,也就是class中项目路径下要有这个dll so文件,放到usr/lib 就可以了,如果也要放在项目中,没什么好办法只能在启动项目时候加参数
是的,win环境下我放在项目的根目录下,如果加载不到可以edit configurations 在VM options中添加参数-Djava.library.path=D:\workspace\ic_manufacturing_platform (等号后面的是项目路径和项目名称) linux环境想放在/usr/lib下就可以了
cyy298 2021-05-11
  • 打赏
  • 举报
回复
dll在项目路径下,项目需要编译,也就是class中项目路径下要有这个dll so文件,放到usr/lib 就可以了,如果也要放在项目中,没什么好办法只能在启动项目时候加参数
一米阳光zw 2019-08-01
  • 打赏
  • 举报
回复
引用 1 楼 树成 的回复:
dll和so有四个地方来放。
1、系统默认的模块装载目录,windows一般在C:\windows\system32目录,linux一般在/usr/lib 下面。
2、jdk的默认装载目录,一般在<JAVA_HOME>/bin目录下面
3、你的jar运行同级目录,或者容器运行的默认装载目录,例如tomcat的<CATALINA_HOME>/bin目录下面
4、环境变量配置指定的lib装载目录 在环境变量中配置变量 LD_LIBRARY_PATH(linux) Path变量中所有路径(windows)

感谢大神评论。我昨天试过linux上放在/usr/lib下面是确实是可以读取到的,其他的还没时间试,这边做一个记录,感谢
树成 2019-07-31
  • 打赏
  • 举报
回复
dll和so有四个地方来放。 1、系统默认的模块装载目录,windows一般在C:\windows\system32目录,linux一般在/usr/lib 下面。 2、jdk的默认装载目录,一般在<JAVA_HOME>/bin目录下面 3、你的jar运行同级目录,或者容器运行的默认装载目录,例如tomcat的<CATALINA_HOME>/bin目录下面 4、环境变量配置指定的lib装载目录 在环境变量中配置变量 LD_LIBRARY_PATH(linux) Path变量中所有路径(windows)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧