天天看点

短信猫 rxtx smslib出错

在短信猫的开发过程中遇到了很多问题,在此进行记录,以供大家作为参考。

一、Error 0x5 at ..\src\termios.c(892): 拒绝访问

            原因:

                  1.串口被占用

                  2.串口不存在

      解决办法:

                 1.系统的管理器中,查看串口是否存在,不存在进行更换。

                 2.如果串口存在,查看是否有其他的程序正在打开,占用了该串口(例如串口测试工具等,我就是这个问                       题)。

二、org.smslib.TimeoutException: No response from device.

短信猫 rxtx smslib出错

          原因:

                   1.端口长时间被占用

      解决办法:

                    在一定时间之后及时的释放端口和资源

三、gnu.io.RXTXPort$SerialOutputStream.flush(RXTXPort.java:1231)

短信猫 rxtx smslib出错

四、org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException: gnu.io.NoSuchPortException

短信猫 rxtx smslib出错

        原因:

             win32com.dll和javax.comm.properties没有配置正确

   解决办法:

               正确的存储路径jdk\jre\bin\win32com.dll;jdk\jre\lib\javax.comm.properties

   我由于测试的时候用到了comm.jar进行过,当同时部署的时候,也出现了这个问题,移除后解决

五、java.lang.UnsatisfiedLinkError: no win32com in java.library.path

短信猫 rxtx smslib出错

按理说,你如果把win32com.dll放到JDK的/jre/lib/ext目录下,并把javax.comm.properties放到JDK的/jre/lib目录,把comm.jar放到你的工程的lib目录,是不会出现上述错误的,但是偶尔一次我要把发短信的后台程序做成windows服务,问题出来,就是找不到win32com,只用一招就把它搞定。呵呵,就是把win32com.dll放到JDK的/jre/bin目录下。

六、java.lang.NoClassDefFoundError: gnu/io/SerialPort(该错误出现在linxu下)

         原因:                   缺少jar包,RXTXcomm.jar          解决办法:                   将RXTXcomm.jar放入到 jdk/jre/lib/ext下

七、java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier(该错误出现在linxu下)

              原因:                   缺少文件,librxtxParallel.so         解决办法:                    将librxtxParallel.so放入到jdk/jre/lib/i386  或者jdk/jre/lib/amd64下,不同的服务器可能目录名称略有不同