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

问题描述

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

解决步骤

 1. echo $JAVA_HOME是否输出Java环境变量,没有则自行百度配置Java环境变量
 2. 进入RXTX-master文件夹,终端输入./configure开始检测系统环境
 3. 终端输入make,则在当前目录自动生成RXTXcomm.jar(使用该jar)以及当前CPU架构的文件夹(例如x86_64-unkown-linux-gnu)
 4. 在3步生成的文件夹下存在隐藏文件夹.libs,你所需要的动态库.so在该libs文件夹下
 5. 将生成的两个.so文件拷贝至$JAVA_HOME/jre/lib/amd64(amd64是我的CPU类型,换成你的),或者拷贝至/usr/lib64目录下,均需要将.so文件赋予执行权限

你可能感兴趣的:(java学习,java,串口通信)