JNative用法注意事项

简介: 公司要做个跟设备打交道的web系统,需要java调用dll。搞java的同事说JNative看起来挺好使的,找俺帮忙调通。用的是1.3.1版本 环境设置。 JNative的调试信息需要打开才能更清楚些,要不总是说没加载库,跟没说一样。

 

公司要做个跟设备打交道的web系统,需要java调用dll。搞java的同事说JNative看起来挺好使的,找俺帮忙调通。用的是1.3.1版本

  1. 环境设置。

    JNative的调试信息需要打开才能更清楚些,要不总是说没加载库,跟没说一样。

    System.setProperty("jnative.debug", "true");

    如果调试信息里有System.LoadLibrary(),说明没有加载JNativeCpp.dll,指定全路径即可,双斜杠哦。

    System.setProperty("jnative.loadNative", "D:\\Test\\JNativeCpp.dll");

  2. lib库路径问题
    • windows

      在windows下需要把调用的dll路径设置到环境变量PATH中,除非你不介意拷到win32中,dll依赖的库也得在PATH或win32中。

    • linux

       linux下同样需要设置环境变量,编辑bashrc,添加 export LD_LIBRARY=so路径,依赖的库也得在PATH中,除非都放在/usr/lib/下

  3. lib库名称问题

    无论linux还是windows在JNative的构造函数中的lib库名字为库全名,包括扩展名dll、so,而且so需要包括前面的‘lib’,貌似与网上说的不太一样。

  4. 资源释放问题

    有些设备需要先初始化在操作,最后释放,所有功能都分散在不同函数中,JNative需要有个静态的实例,每次创建调用函数时lib库依旧是加载的。

顺便吐槽下公司部署前2天才通知说在linux下部署,可怜我这linux、java双小白。。。。。。

目录
相关文章
|
6月前
|
存储 算法 测试技术
关于HOperatorSet.CountChannels的注意事项
关于HOperatorSet.CountChannels的注意事项
|
2月前
|
前端开发 JavaScript API
reactAPI讲解以及注意事项
reactAPI讲解以及注意事项
11 2
|
网络协议
AFNetWork3.0使用注意事项
AFNetWork3.0使用注意事项
94 0
|
Java 数据安全/隐私保护 开发者
函数的注意事项| 学习笔记
快速学习函数的注意事项
113 0
|
Python
函数注意事项
# 函数的位置参数必须要传实参,可以按位置,也可以按关键字传 # 函数的默认参数可以不传实参,可以按位置,也可以按关键字 # 不定长参数*args只收集位置参数形成元组,不定长参数应放在后面,要不会把实参当做位置参数然后报错 # 用**,只要定义了关键字参数,以后针对这个参数传值就必须是关键字形式...
959 0
|
关系型数据库 PostgreSQL