2016-08-13 6 views
2

私はtwillioを使用してSMSを送信しようとしていますが、ここでのコード:Twilio:java.lang.NoClassDefFoundErrorが:COM/twilio/SDK/TwilioRestException

import com.twilio.sdk.TwilioRestClient; 
import com.twilio.sdk.TwilioRestException; 
import org.apache.http.NameValuePair; 
import org.apache.http.auth.Credentials; 
import org.apache.http.message.BasicNameValuePair; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.io.IOException; 

import java.util.ArrayList; 
import java.util.List; 
import java.util.logging.Logger; 

public class SendSms extends HttpServlet { 
    private Logger logger = Logger.getLogger(SendSms.class.getName()); 
    private TwilioRestClient client; 
    private Credentials credentials; 

@Override 
public void service(HttpServletRequest req, HttpServletResponse resp) throws IOException, 
     ServletException { 
    final String twilioAccountSid = System.getenv("TWILIO_ACCOUNT_SID"); 
    final String twilioAuthToken = System.getenv("TWILIO_AUTH_TOKEN"); 
    final String twilioNumber = System.getenv("TWILIO_NUMBER"); 
    final String toNumber = (String) twilioNumber; 
    String message = "prova"; 
    client = new TwilioRestClient(twilioAccountSid, twilioAuthToken); 
    sendMessage(toNumber, message); 
} 

public void sendMessage(String to, String message) { 
    List<NameValuePair> params = getParams(to, message); 

    try { 
     this.client.getAccount().getMessageFactory().create(params); 
    } catch (TwilioRestException exception) { 
     exception.printStackTrace(); 
    } 
} 

private List<NameValuePair> getParams(String to, String message) { 
    List<NameValuePair> params = new ArrayList<>(); 
    params.add(new BasicNameValuePair("Body", message)); 
    params.add(new BasicNameValuePair("To", to)); 
    params.add(new BasicNameValuePair("From", to)); 

    return params; 
} 

}

は単なるテスト私がそうですperformarce、コードのクリーニングなどについては関係ありません。私は次のエラーを取得していますサーブレットの呼び出し:

WARNING: Error for /SendSms 
java.lang.NoClassDefFoundError: com/twilio/sdk/TwilioRestException 

私は、関連twillio APIをインポートし、Mavenを使用していますが、ここではPOMの依存関係:

<dependencies> 
    <dependency> 
     <groupId>com.twilio.sdk</groupId> 
     <artifactId>twilio-java-sdk</artifactId> 
     <version>(6.0,6.9)</version> 
    </dependency> 

は、誰かがいくつかの提案を持っていますか? ありがとうございます。

答えて

0

おそらくcompileのため行方不明<scope>が問題である:

<dependency> 
    <groupId>com.twilio.sdk</groupId> 
    <artifactId>twilio-java-sdk</artifactId> 
    <version>(6.0,6.9)</version> 
    <scope>compile</scope> 
</dependency> 

とのdevの環境に関する完全な詳細な手順については:

https://www.twilio.com/docs/quickstart/java/devenvironment#pomxml

0

私は疲れたアプリケーションがこの

よう重ねてい

ウェブサービス サービスs DAO 共通

私はサービスモジュールでtwilioを呼び出すので、そのmavenモジュールのpomファイルにmaven依存関係を置きます。なんらかの理由で、私はあなたと同じエラーを繰り返してきました。 WebServicesモジュールに依存関係を追加すると問題が解決しました