java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事? [英] java.lang.NoClassDefFoundError: javax/mail/Authenticator, whats wrong?

查看:1513
本文介绍了java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

发送至Email.java

package helper;

//Mail.java - smtp sending starttls (ssl) authentication enabled
//1.Open a new Java class in netbeans (default package of the project) and name it as "Mail.java"
//2.Copy paste the entire code below and save it.
//3.Right click on the file name in the left side panel and click "compile" then click "Run"

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class sendToEmail
{
    String  d_email = "sample@gmail.com",
     d_password = "mysamplepassword",
     d_host = "smtp.gmail.com",
     d_port  = "465",
     //m_to = "sample@yahoo.com",
     m_subject = "trial",
     m_text = "Hey, this is the testing email.";

    public sendToEmail(String strEmailAddress)
    {


        Properties props = new Properties();
        props.put("mail.smtp.user", d_email);
        props.put("mail.smtp.host", d_host);
        props.put("mail.smtp.port", d_port);
        props.put("mail.smtp.starttls.enable","true");
        props.put("mail.smtp.auth", "true");
        //props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.socketFactory.port", d_port);
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");

        SecurityManager security = System.getSecurityManager();

        try
        {
            Authenticator auth = new SMTPAuthenticator();
            Session session = Session.getInstance(props, auth);
            //session.setDebug(true);

            MimeMessage msg = new MimeMessage(session);
            msg.setText(m_text);
            msg.setSubject(m_subject);
            msg.setFrom(new InternetAddress(d_email));
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(strEmailAddress));
            Transport.send(msg);
        }
        catch (Exception mex)
        {
            mex.printStackTrace();
        } 
    }

    public class SMTPAuthenticator extends javax.mail.Authenticator
    {
        public PasswordAuthentication getPasswordAuthentication()
        {
            return new PasswordAuthentication(d_email, d_password);
        }
    }
}

我的一部分controller.java

/* Send to Email will run properly soon */
            sendToEmail email = new sendToEmail(strEmailAddress);

当我运行我的网络应用程序时,我收到以下错误消息:

When I run my web application I got this error message saying:


类型例外报告

Type Exception report

消息

描述服务器遇到一个
内部错误(),阻止
完成此请求。

description The server encountered an internal error () that prevented it from fulfilling this request.

异常
javax.servlet.ServletException:
Servlet执行引发异常

exception javax.servlet.ServletException: Servlet execution threw an exception

root原因
java.lang.NoClassDefFoundError:
javax / mail / Authenticator
controller。 RegisterTenantController.doPost(RegisterTenantController.java:108)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause java.lang.NoClassDefFoundError: javax/mail/Authenticator controller.RegisterTenantController.doPost(RegisterTenantController.java:108) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我现在该怎么办?有人可以帮助我成功获得这个Web应用程序吗?

What will I do now? Can somebody help me to get this web application successful?

推荐答案

你需要在WEB-INF / lib目录中添加两个jar或者您的webapp(或服务器的lib目录):

You need to add two jars into the WEB-INF/lib directory or your webapp (or lib directory of the server):


  • mail.jar - 包含实际的smtp implmentation

  • < a href =http://repo2.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar =noreferrer> activation.jar - 需要mail.jar

  • mail.jar - contains the actual smtp implmentation
  • activation.jar - needed by mail.jar

这篇关于java.lang.NoClassDefFoundError:javax / mail / Authenticator,怎么回事?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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