java.lang.UnsatisfiedLinkError: no XXX in java.library.path
其中涉及的测试源码如下:
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相关推荐
- Kubernetes(Docker)容器部署加载不到 .so动态链接文件(java.lang.UnsatisfiedLinkError: no xxx in java.library.path)
找了一下午,网上文章有很多,但都不适用,因为我是通过容器进行部署服务,然后容器加载.so动态链接文件,所以网上大多数文章是设置Linux的动态链接目录,这里统一记录一下解决方法: 1.Linux设置L ...
- 异常:没有找到本地方法库,java.lang.UnsatisfiedLinkError: no trsbean in java.library.path
1.问题描述 迁移环境中遇到这个问题 : Fri Apr 20 15:22:31 CST 2018, Exception:500004___-500004,没有找到本地方法库,java.lang.Un ...
- java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path问题的解决
笔者在MyEclipse中进行HDF文件的读写,遇到了java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path的问题.笔者详细地记录了整 ...
- 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 ...
- java JNI调用C语言动态链接库(java.lang.UnsatisfiedLinkError: no yourClassName in java.library.path 异常的解决方法)
转自: http://watershitter.iteye.com/blog/477615 今天花了至少3个小时跑这个java调c的动态链接库的Hello,native world的程序. 把所有犯 ...
- 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 ...
- java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
一.具体问题 昨天把项目提交到svn后更新本地代码运行项目出现no rxtxSerial in java.library.path的错误,百度了一下说是因为缺少rxtxParallel.dll和rxt ...
- java.lang.unsatisfiedlinkerror:_我的java程序中的java.lang.UnsatisfiedLinkError :(
我创建了一个使用JNI的程序.我编译了它,生成了头文件,创建了一个相应的C程序,并为它创建了dll. 我遇到了一个例外: 线程"main"中的异常java.lang.Unsatis ...
- 运行测试Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path错误解决
解决办法:看到错误里面有个Caused by,说我的jdk运行到了32位的了,于是我查看环境变量,发现是昨天设置成32位的没有设置回来,于是设置回64位的jdk就ok了 转载于:https://www ...
最新文章
- Java7 java.util.concurrent 并发包计划
- zippo油和zorro油的区别_干式和油侵式变压器的概念和区别
- C# 文本输入限制类型,datagridview单元格输入验证
- 【转】PhpStorm 提交代码到远程GitHub仓库
- 全球及中国膀胱癌药物行业“十四五”专项规划及市场调研分析报告2021-2027年
- STL9-vector容器
- Size Balanced Tree
- node.js中的文件系统
- Python+Opencv图像处理新手入门教程(三):阈值与二值化
- vue父组件变量传递子组件_Vue2.x中的父组件数据传递至子组件
- python globals()
- 循环map 取得键和值_Java 从 Map 到 HashMap 的一步步实现
- java课设迷宫游戏_Java课程设计走迷宫.doc
- 首次登录强制修改密码
- 服务器内存只能显示4g_为什么安装4G内存显示只有2G或3G可用|Crucial(英睿达)
- visio修改默认字体
- 马化腾说视频号是全公司希望
- html audio重新播放,javascript – Web Audio API:如何重新开始播放声音?
- linux删除挖矿病毒
- W3Schools离线版本下载2020