在短信猫的开发过程中遇到了很多问题,在此进行记录,以供大家作为参考。
一、Error 0x5 at ..\src\termios.c(892): 拒绝访问
原因:
1.串口被占用
2.串口不存在
解决办法:
1.系统的管理器中,查看串口是否存在,不存在进行更换。
2.如果串口存在,查看是否有其他的程序正在打开,占用了该串口(例如串口测试工具等,我就是这个问 题)。
二、org.smslib.TimeoutException: No response from device.
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvw1d4IjW1xmMhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM0MDOxEzM2EDMyIDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
原因:
1.端口长时间被占用
解决办法:
在一定时间之后及时的释放端口和资源
三、gnu.io.RXTXPort$SerialOutputStream.flush(RXTXPort.java:1231)
四、org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException: gnu.io.NoSuchPortException
原因:
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
按理说,你如果把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下,不同的服务器可能目录名称略有不同