通过JNI加载动态dll库文件时,出现java.lang.UnsatisfiedLinkError: no XXX in java.library.path问题。有四种解决方法:

1、将dll文件放到tomcat的bin目录下,再使用System.loadLibrary("XXX");加载该动态库文件。

2、更改java.library.path的值方式

①、通过“String path =  XXXXXXX.class.getClassLoader().getResource("//").getPath()”得到当前项目的相对路径,该路径到“classes”层,通过该路径构造path值。

②、通过“System.setProperty("java.library.path", path)”方法重新设置library path的值。

③、将动态库dll文件放到path路径下,调用“System.loadLibrary("XXX")”加载dll。

3、将dll文件放在JDK的bin目录下,再使用System.loadLibrary("XXX");加载该动态库文件。 

    /*** 加载外部.dll动态库文件*/
static {String osEnvironment = System.getProperty("os.name").toLowerCase();if (osEnvironment .contains("windows")) {System.loadLibrary("demoLib01");System.loadLibrary("demoLib02");System.loadLibrary("demoLib03");} else if (osEnvironment .contains("linux")) {System.loadLibrary("demoLib01");System.loadLibrary("demoLib02");}}

   4、通过“System.load(“path+xxx.dll”)”加载

①、将dll文件放到项目中。

    ②、通过“XXX.class.getClassLoader().getResource("//").getPath()”得到项目的路径。

③、得到dll的具体路径。

    /*** 加载外部.dll动态库文件*/
static {//相对路径pathString path = XXXXXX.class.getClassLoader().getResource("//").getPath();//本地DEBUG的时候需放开下面这句代码;打jar包时注释掉path =  path + File.separator + "com" + File.separator + "server"+File.separator+ "study" + File.separator+"demo"+File.separator+"day01"+File.separator;//如果dll库有依赖,加载顺序按照依赖顺序即可System.out.println("动态库文件路径" + path);System.load(path + "demoLib01.dll");System.load(path + "demoLib02.dll");System.load(path + "demoLib03.dll");System.out.println(System.getProperty("java.library.path"));}

Java通过JNI/JNA加载dll库文件调用C接口,出现“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”问题相关推荐

  1. android 加载三方so的方法_Android开发教程之动态加载so库文件的方法

    Android开发教程之动态加载so库文件的方法,我想对于静态加载 so 库文件,大家都已经很熟悉了,这里就不多说了.在 Android 开发中调用动态库文件(*.so)都是通过 jni 的方式,而静 ...

  2. QLibrary 动态加载外部库文件

    /*转载请注明出处,谢谢*/ 背景:想搭一个软件系统,包含一个主模块,一堆子模块(用于扩展功能).主模块是一个可执行程序,子模块为动态库,可以加载在主模块中. 问题:每添加一个扩展功能就要修改一下主模 ...

  3. CrossWalk - Android 动态加载so库文件

    转自: https://segmentfault.com/a/1190000002919135 之前看到简书Android客户端使用的编辑器,甚是喜欢,它的优雅以及高性能的特点让我爱不释手,很想自己也 ...

  4. Android NDK下STD库share static方式加载 (so库混乱调用问题)

    结论 -DANDROID_STL=c++_shared 有该选项 share方式加载STL,打包的so库不含有STD代码 没该选项 static方式加载STL. // 打so库的build.gradl ...

  5. java.lang.UnsatisfiedLinkError: no XXX in java.library.path

    其中涉及的测试源码如下: For those who didn't install Java with default settings, a systematic way for solving J ...

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

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

  7. qt int转换成qstring_Qt 加载cern-root库 并调用root类

    cern-root是欧洲核子研究中心CERN开发的基于C++,可与python,R,Fortran等语言进行绑定的数据处理框架.cern-root最初基于Qt开发,在root5之前可通过Qt来开发ro ...

  8. qt中append函数_Qt 加载cern-root库 并调用root类

    cern-root是欧洲核子研究中心CERN开发的基于C++,可与python,R,Fortran等语言进行绑定的数据处理框架.cern-root最初基于Qt开发,在root5之前可通过Qt来开发ro ...

  9. 查看开源操作系统ReactOS源码,解决dll库动态库加载失败问题(调用LoadLibrary加载失败)

    目录 1.动态加载dll库去调用库中的函数 1.1.调用系统dll库中未公开的接口

  10. c++显式加载dll并使用DLL的类

    转载自:  http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/ 首先需要强调,当使用某个类时一般 ...

最新文章

  1. 特斯拉“国王”王权不保
  2. Django视图层总结
  3. SupeSite后台添加新闻增加【预览】功能
  4. python万年历差农历程序_公历转农历的python实现
  5. Linux 启/关 自启动服务
  6. assert函数的作用
  7. elementary os(ubuntu)开启ipv6 与走SwitchyOmega代理
  8. Exception in thread “main“ java.lang.UnsupportedOperationException Arrays.asList中add报错
  9. 医学专业失业率最高 三类相关行业人才紧缺
  10. Java多线程详解(线程不安全案例)
  11. 【C++设计模式】抽象工厂模式
  12. Amazon亚马逊 Vendor Central Label详解
  13. android root 升级失败怎么办,手机root失败怎么办 安卓手机root失败原因分析
  14. seo人员必须知道的基础知识
  15. 【Matlab图像处理】自动报靶系统(重弹孔)【含GUI源码 973期】
  16. Codeforces 854 B Maxim Buys an Apartment
  17. 关于CNN中出现的诸如conv4_3、conv8_2、conv7等标识的含义
  18. ceph kernel rbd (一): 简介
  19. CSS第七天学习总结—— vertical-align 属性应用
  20. 做刀尖上的舞者 京东无线服务端的三次架构演进

热门文章

  1. 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
  2. VS2012+SQLServer2008 R2 开发工具
  3. 有线与无线网络配置相关工具
  4. 学习一种新编程语言要做的14个练习
  5. iOS code collection
  6. 删除Visual Studio最近的项目(收藏)
  7. macbook proc如何升级到10.14.3
  8. 【笔记】vim如何删除重复行
  9. php位置,php – 如何有效地找到一个给定位置附近最近的位置
  10. Java的对象和类 以学生管理系统为例