natural_ 2017-12-14 07:18 采纳率: 0%
浏览 7444
已结题

求助!java jni在liunx下提示no in java.library.path

已经放到java.library.path下了,用System.out.println(System.getProperty("java.library.path"));打印结果为/home/heiman/workspace/common-utils/lib;/usr/local/maven/maven3.5.2//bin:/usr/local/java/bin:/usr/local/java/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games,so库放在了/home/heiman/workspace/common-utils/lib下,但是加载不到 求助大神!急!!!!

  • 写回答

6条回答 默认 最新

  • ZhihengTao 2017-12-20 05:02
    关注

    so加载需要指明路径.个人想到几种使用方式

    1. 使用环境变量,即放在特定目录下(其实未必要复制,建立软链接即可),你完全可以使用任何名称的环境变量,只要在源码中读出变量值,然后寻找文件即可
    2. 使用运行时参数指定,即将绝对路径作为参数传入
    3. 使用绝对路径,即在源码中使用绝对路径

    顺便一提,java加载动态库貌似只有两个API
    其一, System.loadLibrary(), 参数好像是库名,即去掉lib前缀和.so*后缀
    其二, System.load(),参数是绝对路径,相对路径好像不可以

    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误