AWSCredentialsでメールを送信しようとしていますが、例外が発生します
Java.lang.NoClassDefFoundError:org/Apache/http/conn/schema/SchemeSocketFactory
私はこれらの瓶を追加しました:
私の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 = "[email protected]"; // should be verified email
LinkedList<String> recipients = new LinkedList<String>();
recipients.add("[email protected]"); // 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を使用していますか?誰かが私に何が問題なのか教えてもらえますか?
わたし
javadocs から、SchemeSocketFactory
クラスはバージョン4.1以降でのみ使用できます。したがって、これは、4.0アルファjarを使用しているという事実と関係がある可能性があります。 http-clientライブラリを4.1以降にアップグレードしてみてください。
最新のaws Java SDK(aws-Java-sdk-1.9.3をダウンロードしたばかり)をダウンロードした場合、
必要なライブラリは、サードパーティ/ **/libフォルダにあります。それらの束があります!
jomofrodoからのこの回答にはもっと注意が必要です。ばっちり成功。ありがとう!
javadoc から、org/Apache/http/conn/scheme/SchemeSocketFactory
クラスは4.1バージョン以降存在します。
したがって、httpclientjarを少なくとも4.1バージョンにアップグレードしてみてください。
私の場合、Netbeans7.2で作成した2つのライブラリがありました。1つはApacheCommons Codec 1.6用で、もう1つはApache Commons HttpClient4.2.2用です。この場合、HttpClient用に作成したライブラリにもCodec 1.6 jarが含まれているため、これと同じエラーが発生していました。
クラスパスで参照されている同じライブラリが2つないこと、または同じライブラリのバージョンが競合していないことを確認してください。