1

我有一个应用程序 Java EE 我在类 testmail 中有这个代码

public Testmail() throws MessagingException, IOException, SQLException
{
    Properties props = System.getProperties();
    Session session = Session.getDefaultInstance(props, null);
    Store store = session.getStore("imaps");
    store.connect("imap.gmail.com", "mail@gmail.com", "passsword");
    //System.out.println(store);
    Folder inbox = store.getFolder("Personnel");
    inbox.open(Folder.READ_WRITE);
    FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
    Message messages[] = inbox.search(ft);
    for(Message message:messages) 
    {
               //mycode
            }
public static void main(String[] args) throws MessagingException, IOException, SQLException 
{
    new Testmail();
}

此代码在控制台中运行。

在我的 servlet 中有这个代码

                    //sum code
        S.setAttribute("user", user);
        try 
        {
            Testmail m=new Testmail();
        } 
        catch (MessagingException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        catch (SQLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

           response.sendRedirect("listeemails.jsp");

但我有这个问题

    sept. 12, 2013 11:58:55 PM org.apache.catalina.core.ApplicationContext log
INFO: La servlet Login est marqué comme indisponible
sept. 12, 2013 11:58:55 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Exception lors de l'allocation pour la servlet Login
java.lang.ClassNotFoundException: javax.mail.MessagingException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
4

2 回答 2

3

您必须在目录 webcontent/web-inf/ lib 上复制文件 javax.mail.jar 并且它的工作

于 2013-09-13T21:19:16.287 回答
2

javamail.jar 在webapp 的类路径中吗?换句话说,javamail.jar 是捆绑在项目的 WAR/EAR/etc 中,还是捆绑在应用服务器的 lib 目录中?如果它在 IDE 中的构建路径上,但没有与您的 webapp 一起部署,并且尚未在应用服务器上,则它将在编译时位于构建路径上,但在部署时不会。

于 2013-09-12T23:21:56.540 回答