[英]Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory while Using Crawler4j
[英]java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory
我想通过AWSCredentials发送邮件但是获得例外
java.lang.NoClassDefFoundError:org / apache / http / conn / scheme / SchemeSocketFactory
我添加了这些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);
}
}
我也试图搜索这个罐子,但没有得到。 我使用错误的罐子不确定。 任何人都可以告诉我这是什么问题?
我是
从javadocs开始 , SchemeSocketFactory
类仅在4.1版之后可用。 所以这可能与您使用4.0 alpha jar这一事实有关。 尝试将您的http-client库升级到4.1或更高版本。
从javadoc开始 ,似乎自4.1版本以来存在org/apache/http/conn/scheme/SchemeSocketFactory
类。
因此,尝试将httpclient jar升级到至少4.1版本。
如果你下载最新的aws java SDK(我刚刚下载了aws-java-sdk-1.9.3),
所需的库将位于第三方/ ** / lib文件夹中。 有一堆他们!
来自jomofrodo的答案需要更多的关注。 搞定了。 谢谢!
在我的例子中,我有两个我在Netbeans 7.2中创建的库:一个用于Apache Commons Codec 1.6,另一个用于Apache Commons HttpClient 4.2.2。 在这种情况下,因为我为HttpClient创建的库也包含Codec 1.6 jar,所以我得到了同样的错误。
确保您的类路径中没有引用两个相同的库,或者同一个库中的两个冲突版本。
调试代码并指出Exception发生的位置。 您使用的任何类实例都不包含在您的jar文件中我认为如此。 我不确定。 通过调试找到。 我认为SchemeSocketFactory在您的类路径中不存在。 请检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.