java.lang.NoClassDefFoundError:org/apache/http/conn/scheme/SchemeSocketFactory [英] java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory

查看:708
本文介绍了java.lang.NoClassDefFoundError:org/apache/http/conn/scheme/SchemeSocketFactory的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正准备通过AWSCredentials发送邮件,但遇到异常

I am tring to send mail by AWSCredentials but getting an exception

java.lang.NoClassDefFoundError:org/apache/http/conn/scheme/SchemeSocketFactory

java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory

我添加了以下jar:

  • aws-java-sdk-1.3.11.jar
  • aws-java-sdk-1.3.11-javadoc.jar
  • aws-java-sdk-1.3.11-sources.jar
  • aws-java-sdk-flow-build-tools-1.3.11.jar
  • commons-logging.jar
  • httpclient-4.0-alpha4.jar
  • httpcore-4.0-alpha6.jar
  • log4j-1.2.13.jar
  • mail.jar

我的Java代码是-

 import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient;
import com.amazonaws.services.simpleemail.model.*;
import java.util.LinkedList;

public class SESExample {
public static final String ACCESS_KEY = "My Access";
public static final String SECRET_KEY = "My Secret";

public static void main(String args[]) {
    String sender = "support@brandzter.com"; // should be verified email

    LinkedList<String> recipients = new LinkedList<String>();
    recipients.add("khoyendra@globussoft.com"); // again a verified email, if you are in sandbox

    SendMail(sender, recipients, "Hi", "Hi how are u?");
}

public static void SendMail(String sender, LinkedList<String> recipients, String subject, String body) {
    Destination destination = new Destination(recipients);

    Content subjectContent = new Content(subject);
    Content bodyContent = new Content(body);
    Body msgBody = new Body(bodyContent);
    Message msg = new Message(subjectContent, msgBody);

    SendEmailRequest request = new SendEmailRequest(sender, destination, msg);

    AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
    AmazonSimpleEmailServiceClient sesClient = new AmazonSimpleEmailServiceClient(credentials);
    SendEmailResult result = sesClient.sendEmail(request);

    System.out.println(result);
}

}

我也正在尝试搜索此jar,但没有找到. 我不确定使用错误的罐子吗? 谁能告诉我是什么问题?

I am also trying to search this jar but not getting. Am I using wrong jar not sure. can any one tell me what is the problem?

我是

推荐答案

来自

From the javadocs, the SchemeSocketFactory class is only available since version 4.1. So this might have something to do with the fact that you are using the 4.0 alpha jars. Try upgrading your http-client library to 4.1 or higher.

这篇关于java.lang.NoClassDefFoundError:org/apache/http/conn/scheme/SchemeSocketFactory的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆