猿问

短信猫发送出现CommPortIdentifier class not found错误

Caused by: java.lang.RuntimeException: CommPortIdentifier class not found
 at org.smslib.helper.CommPortIdentifier.<clinit>(CommPortIdentifier.java:76)
 ... 4 more

但是这个类org.smslib.helper.CommPortIdentifier我是能找到的

 private static String COM; //短信端口
    private static Service srv;
    private static OutboundMessage msg;
    static OutboundNotification outboundNotification; // = new OutboundNotification();
    static SerialModemGateway gateway;
    public static int Send(String PhoneNumber, String Content) {
        int successnumber = 0;
        try {
             
            msg = new OutboundMessage(PhoneNumber, Content);
          //  msg.setEncoding(MessageEncodings.ENCUCS2); // 中文
            srv.sendMessage(msg);
            //判断发送状态
            if (msg.getMessageStatus().toString().trim().equals("SENT") || msg.getMessageStatus().toString().trim().equals("send")) {
               ++ successnumber;
            } else {
                System.out.println("SendMessage-->第" + (successnumber + 1) + "条短信发送短信失败!");
            }
            System.out.println("SendMessage-->发送短信结束,成功条数:" + successnumber + "条,短信内容:" + Content);
            //返回成功数量
            return successnumber;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("SendMessage-->发送异常!!");
            return 0;
        }
    }
    public static void Close() {
        try {
            srv.stopService();
            srv.removeGateway(gateway);
            System.out.println("SendMessage-->关闭短信接口成功!");
        } catch (GatewayException e) {
            e.printStackTrace();
            System.out.println("SendMessage-->关闭端口出错!");
        } catch (SMSLibException e) {
            e.printStackTrace();
            System.out.println("SendMessage-->关闭SMSLib错误!");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    public class OutboundNotification implements IOutboundMessageNotification {
        public void process(AGateway agateway, OutboundMessage outboundmessage) {
            System.out.println("SendMessage-->Outbound handler called from Gateway: " + agateway);
            System.out.println("SendMessage-->" + outboundmessage);
        }
    }
    static {
        COM = "COM3";
        srv = Service.getInstance();
        gateway = new SerialModemGateway("modem." + COM.toLowerCase(), COM, 9600, "wavecom", ""); // 设置端口与波特率
        gateway.setInbound(true);
        gateway.setOutbound(true);
        gateway.setSimPin("1234");
        //gateway.setOutboundNotification(outboundNotification);
        srv.setOutboundMessageNotification(outboundNotification); //发送短信成功后的回调函方法
        try {
            srv.addGateway(gateway);
         
            srv.startService();
            System.out.println("SendMessage-->服务启动成功");
        } catch (TimeoutException e) {
            e.printStackTrace();
        } catch (GatewayException e) {
            e.printStackTrace();
        } catch (SMSLibException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

附上相关代码,不知道哪里设置错了

car
浏览 3413回答 3
3回答

慕虎4106803

兄弟处理了吗问题,我也碰到这问题了。。。是不是因为jar包的版本问题?
随时随地看视频慕课网APP

相关分类

Java
我要回答