2013-03-07 2 views
1

smsj api를 사용하여 gsm 모뎀을 통해 모바일에서 PC로 SMS를 보내고 있습니다. page에 주어진대로, 나는 다음 코드를 시도했다.PC에서 모바일로 SMS 보내기

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 

난 자바 초보자입니다 :

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 &quot;+&quot; 
     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(); 
    } 


} 

는하지만 난이 오류 메시지를 받고 있습니다. 코드를 도와주세요.

참고 : 나는 간단한 텍스트 메시지를 보내기 위해 이전에 smslib api를 사용했습니다. 그러나 이것은 ems 메시지를 지원하지 않습니다. ems 메시지를 지원하는 다른 라이브러리가 있다면 알려주십시오. smsj는 내가 쉽게 다운로드 할 수있는 사람이었습니다.

+2

먼저, 당신은 우리에게 잘못된 코드를 부여했습니다. 'SiemensOtaMessage' 클래스의 코드는 어디에 있습니까? 또한 코드의 전체 스택 추적을 게시하십시오. –

+0

@ Buhake Sindi 질문을 업데이트했습니다 – newbee

+0

@BuhakeSindi 3 부 코드가 코드가 아닙니다. – CloudyMarble

답변

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

+0

이 라이브러리를 클래스 경로에 추가하고 프로젝트를 다시 빌드했습니다. 그러나 여전히 그것의 동일한 오류를 제공합니다. – newbee

+1

@newtoandrouid 이것을 사용해보십시오 : http://mvnrepository.com/artifact/org.slf4j/slf4j-simple/1.0-beta9 이것은 귀하의 라이브러리 – Adrian

+0

에 의해 참조 된 버전이므로 @Adrian 감사합니다. 이 추가 오류를 추가 :) – newbee