发送短信从PC到手机
问题描述:
我使用smsj API从PC发送短信到手机通过GSM调制解调器。如在page上给出的,我已经尝试了下面的代码。发送短信从PC到手机
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的初学者。请帮助我的代码。
note:我之前使用smslib api发送简单的文本消息。但是这不支持ems消息。如果您有其他支持ems消息的库,请告诉我。 smsj是我可以轻松下载的一个。
答
问题的真正原因就在于此:
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所有的
首先,你已经给了我们错误的代码。类“SiemensOtaMessage”的代码在哪里?另外,请发布完整的代码堆栈跟踪。 – 2013-03-07 07:16:13
@ Buhake Sindi我已经更新了这个问题 – newbee 2013-03-07 07:18:33
@BuhakeSindi它的第三部分代码不是他的代码。 – CloudyMarble 2013-03-07 07:18:39