JAVA使用RXTX包串口程序在Linux部署 (错误:[librxtxSerial.so]Java

JAVA使用RXTX包串口程序在Linux部署 (错误:[librxtxSerial.so]Java,第1张

JAVA使用RXTX包串口程序在Linux部署 (错误:[librxtxSerial.so]Java

RXTX串口读写在windows下开发正常,在Linux下存在bug,主要表现为:在代码中能正常开启串口后,发数据、收数据时,jvm崩溃报错。 [librxtxSerial.so]Java_gnu_io_RXTXPort_nativeDrain)
解决:

arduino开源,开源了在RXTX基础上修改完善的RXTX代码,该代码可在Linux平台上编译,编译生成.so文件以及RXTXcomm.jar引用包,最后完美解决。
git hub地址https://github.com/arduino/RXTX

    echo $JAVA_HOME是否输出Java环境变量,没有则自行百度配置Java环境变量

    进入RXTX-master文件夹,终端输入./configure开始检测系统环境

    终端输入make,则在当前目录自动生成RXTXcomm.jar(使用该jar)以及当前CPU架构的文件夹(例如x86_64-unkown-linux-gnu)

    在3步生成的文件夹下存在隐藏文件夹.libs,你所需要的动态库.so在该libs文件夹下

    将生成的两个.so文件拷贝至$JAVA_HOME/jre/lib/amd64(amd64是我的CPU类型,换成你的),或者拷贝至/usr/lib64目录下,均需要将.so文件赋予执行权限

    若此时可以接收到数据,在Java程序接收数据时应注意数据帧的完整性。
    欢迎各位朋友指正
    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存