这是我第一次使用Gmail REST API,而我正在尝试使用它发送电子邮件。我按照Google Developer网站上的说明操作,并获得了身份验证部分。但是现在,当我尝试发送电子邮件时,会抛出异常。完全例外是,
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger
at javax.mail.Session.initLogger(Session.java:227)
at javax.mail.Session.<init>(Session.java:212)
at javax.mail.Session.getDefaultInstance(Session.java:315)
at gmailconsole.Email.createEmail(Email.java:45)
at gmailconsole.GmailApiQuickStart.main(GmailApiQuickStart.java:91)
Caused by: java.lang.ClassNotFoundException: com.sun.mail.util.MailLogger
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
与异常相关的代码
public static void sendMessage(Gmail service, String userId, MimeMessage email)
throws MessagingException, IOException {
Message message = createMessageWithEmail(email);
message = service.users().messages().send(userId, message).execute();
System.out.println("Message id: " + message.getId());
System.out.println(message.toPrettyString());
}
主类中的方法调用
try {
MimeMessage mimeMessage = Email.createEmail("isurub1992@gmail.com", "me", "Test", "This is a test message");
Email.sendMessage(service, "me", mimeMessage);
} catch (MessagingException ex) {
ex.printStackTrace();
}
P.S:我在NetBeasns中添加了所有库和JavaEE API库
答案 0 :(得分:1)
ClassNotFoundException
是明确的:classpath
中找不到该类。
简短搜索显示在com.sun.mail.util.MailLogger
中找到了缺失的班级com.sun.mail_1.4.2.jar
;所以看看,我会打赌这可以解决你的问题。
不一样的问题,但它也可能是一个很好的信息: java.lang.NoClassDefFoundError: javax/mail/Authenticator, whats wrong?