其中涉及的测试源码如下:

For those who didn't install Java with default settings, a systematic way for solving JNI class path problem is:
1> include "System.out.println(System.getProperty("Java.library.path")); " in your "static" block, right before loading the class.
2> run your program and not surprisingly you got the err again, but this time with java.library.path info for your system. (it's important since this path name varies among systems).
3> cp your libxxx.so into the java.library.path

Java一般使用两个path:classpath 和 java.library.path

classpath是指向jar包的位置

java.library.path是非java类包的位置如(dll,so)

解决办法:

第一种方法,在代码里设置环境变量

第二种方法:执行时在vm arguments里添加-Djava.library.path= /usr/local/lib,例如java -Djava.library.path=.   xxx(xxx是某个类文件的名字,不包括后缀)

第三种方法:设置环境变量java.library.path

  1:Linux下的系统变量LD_LIBRARY_PATH来添加java.library.path

  2:Windows下设置哪个环境变量???????????????????

如果你上面看不懂的话就继续向下面看:
1、 在你载入jni类之前 放入“System.out.println( System.getProperty("java.library.path"));
2、运行你的程序你将获得java.library.path指向的目录
3、拷贝你的libxxx.so到java.library.path指向的某个目录下面。
注意: 
      Linux下:一定要将Linux下的共享库(我暂且这么叫:)命名成libxxx.so的形式,"xxx"是你在System.loadLibrary("xxx")中用到的加载库名称。

  Windows下:一定要将Windows下的共享库(我暂且这么叫:)命名成xxx.dll的形式(没有前边的lib三个字母),"xxx"是你在System.loadLibrary("xxx")中用到的加载库名称。

查了其他的资料:
也可以通过设置LINUX下的系统变量LD_LIBRARY_PATH来添加java.library.path,只要在启动~/.bashrc中添加如下代码然后重新登录shell,就可以将动态库放在当前目录下运行你的jni程序了。
export LD_LIBRARY_PATH=.:..:$LD_LIBRARY_PATH

另外也可以通过如下I'm new to JNI. I see there are several ways to set JVM to look for libraries dll, so, etc.

System.setProperty("java.library.path", ".");
            System.loadLibrary("hello");
That's when UnsatisfiedLinkError

java.lang.UnsatisfiedLinkError: no hello in java.library.path
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
            at java.lang.Runtime.loadLibrary0(Runtime.java:822)
            at java.lang.System.loadLibrary(System.java:992)
            at HelloWorld.main(HelloWorld.java:17)

转载于:https://www.cnblogs.com/LiuYanYGZ/p/6110822.html

java.lang.UnsatisfiedLinkError: no XXX in java.library.path相关推荐

  1. Kubernetes(Docker)容器部署加载不到 .so动态链接文件(java.lang.UnsatisfiedLinkError: no xxx in java.library.path)

    找了一下午,网上文章有很多,但都不适用,因为我是通过容器进行部署服务,然后容器加载.so动态链接文件,所以网上大多数文章是设置Linux的动态链接目录,这里统一记录一下解决方法: 1.Linux设置L ...

  2. 异常:没有找到本地方法库,java.lang.UnsatisfiedLinkError: no trsbean in java.library.path

    1.问题描述 迁移环境中遇到这个问题 : Fri Apr 20 15:22:31 CST 2018, Exception:500004___-500004,没有找到本地方法库,java.lang.Un ...

  3. java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path问题的解决

    笔者在MyEclipse中进行HDF文件的读写,遇到了java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path的问题.笔者详细地记录了整 ...

  4. Centos 安装Eclipse报错java.lang.UnsatisfiedLinkError: Could not load SWT library

    在CentOs上安装Eclipse时报错: !ENTRY org.eclipse.osgi 4 0 2017-08-15 00:22:12.612 !MESSAGE Application error ...

  5. java JNI调用C语言动态链接库(java.lang.UnsatisfiedLinkError: no yourClassName in java.library.path 异常的解决方法)

    转自: http://watershitter.iteye.com/blog/477615 今天花了至少3个小时跑这个java调c的动态链接库的Hello,native world的程序.  把所有犯 ...

  6. IDEA springboot启动报错java.lang.UnsatisfiedLinkError: no tcnative-1 in java.library.path

    IDEA springboot启动报错: java.lang.UnsatisfiedLinkError: no tcnative-1 in java.library.path: [D:\Java\bi ...

  7. java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path

    一.具体问题 昨天把项目提交到svn后更新本地代码运行项目出现no rxtxSerial in java.library.path的错误,百度了一下说是因为缺少rxtxParallel.dll和rxt ...

  8. java.lang.unsatisfiedlinkerror:_我的java程序中的java.lang.UnsatisfiedLinkError :(

    我创建了一个使用JNI的程序.我编译了它,生成了头文件,创建了一个相应的C程序,并为它创建了dll. 我遇到了一个例外: 线程"main"中的异常java.lang.Unsatis ...

  9. 运行测试Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path错误解决

    解决办法:看到错误里面有个Caused by,说我的jdk运行到了32位的了,于是我查看环境变量,发现是昨天设置成32位的没有设置回来,于是设置回64位的jdk就ok了 转载于:https://www ...

最新文章

  1. Java7 java.util.concurrent 并发包计划
  2. zippo油和zorro油的区别_干式和油侵式变压器的概念和区别
  3. C# 文本输入限制类型,datagridview单元格输入验证
  4. 【转】PhpStorm 提交代码到远程GitHub仓库
  5. 全球及中国膀胱癌药物行业“十四五”专项规划及市场调研分析报告2021-2027年
  6. STL9-vector容器
  7. Size Balanced Tree
  8. node.js中的文件系统
  9. Python+Opencv图像处理新手入门教程(三):阈值与二值化
  10. vue父组件变量传递子组件_Vue2.x中的父组件数据传递至子组件
  11. python globals()
  12. 循环map 取得键和值_Java 从 Map 到 HashMap 的一步步实现
  13. java课设迷宫游戏_Java课程设计走迷宫.doc
  14. 首次登录强制修改密码
  15. 服务器内存只能显示4g_为什么安装4G内存显示只有2G或3G可用|Crucial(英睿达)
  16. visio修改默认字体
  17. 马化腾说视频号是全公司希望
  18. html audio重新播放,javascript – Web Audio API:如何重新开始播放声音?
  19. linux删除挖矿病毒
  20. W3Schools离线版本下载2020

热门文章

  1. pytorch torch.stack
  2. click Parameters
  3. Python Itsdangerous
  4. TensorFlow 图片预处理
  5. matlab中常微分方法,MATLAB解常微分方程组的解法(好东西要共享)
  6. 组合日期_为什么我的透视表没法按日期组合?
  7. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II
  8. Java Web学习总结(34)——拦截器和过滤器的差异总结
  9. JavaScript学习总结(4)——JavaScript数组
  10. 50道编程小题目之【反弹的球】