1

私はsmsjapiを使用して、gsmモデムを介してPCからモバイルにSMSを送信しています。ページに記載されているように、私は次のコードを試しました。

package org.marre;

import java.io.IOException;
import org.marre.sms.SmsException;


public class SendMessage  {

    public void send() {
    try{

         // Send SMS with clickatell
         SmsSender smsSender = SmsSender.getGsmSender("COM7");
         String msg ="sample message";
         // International number to reciever without leading "+"
         String reciever = "9561356345";
         // Number of sender (not supported on all transports)
         String sender ="9561356345";
         // Connect
         smsSender.connect();
         // Send message
         smsSender.sendTextSms(msg, reciever, sender);       
         // Disconnect
         smsSender.disconnect();
    } catch(IOException i){
        i.printStackTrace();
        System.out.println("i");
    } catch(SmsException s){
        s.printStackTrace();
        System.out.println("s");
    }
    }

    public static void main(String args[]){
        SendMessage app = new SendMessage();
        app.send();
    }


}

しかし、私はこのエラーメッセージを受け取っています:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.marre.sms.transport.gsm.SerialComm.<clinit>(SerialComm.java:58)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.marre.sms.transport.gsm.GsmTransport.class$(GsmTransport.java:83)
    at org.marre.sms.transport.gsm.GsmTransport.<clinit>(GsmTransport.java:83)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.marre.sms.transport.SmsTransportManager.getTransport(SmsTransportManager.java:75)
    at org.marre.SmsSender.<init>(SmsSender.java:112)
    at org.marre.SmsSender.getGsmSender(SmsSender.java:180)
    at org.marre.SendMessage.send(SendMessage.java:12)
    at org.marre.SendMessage.main(SendMessage.java:30)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 12 more

私はJavaの初心者です。コードを手伝ってください。

注: 以前、単純なテキストメッセージを送信するためにsmslibapiを使用しました。ただし、これはemsメッセージをサポートしていません。emsメッセージをサポートする他のライブラリを考えている場合は、私に知らせてください。smsjは私が簡単にダウンロードできるものでした。

4

1 に答える 1

1

問題の本当の原因はここにあります:

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

コンパイラはorg.slf4j.LoggerFactoryクラスパスから見つけることができませんでした。

SLF4Jをダウンロードし、クラスパスにライブラリを追加して、コードをコンパイルします。

注: smsjは非常に古いバージョンのSlf4Jを参照しているため、この古いバージョンも使用する必要があります:http: //mvnrepository.com/artifact/org.slf4j/slf4j-simple/1.0-beta9

于 2013-03-07T07:20:23.530 に答える