NoSuchMethodError:com.sun.mail.imap.IMAPFolder.getChannel()

时间:2016-02-05 11:07:16

标签: java javamail imap nosuchmethoderror

我经历了java邮件IdleManeger的java doucumntation。 试图实现forllwing示例,但没有这样的方法得到错误。

我在Linux上,使用java7和javamail 1.5。 以下是代码。

openAccountWithImap();
ExecutorService es = Executors.newCachedThreadPool();
final IdleManager idleManager = new IdleManager(session, es);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
folder.addMessageCountListener(new MessageCountListener() {
    @Override
    public void messagesRemoved(MessageCountEvent arg0) {
    }
    @Override
        public void messagesAdded(MessageCountEvent ev) {
        Folder folder = (Folder)ev.getSource();
        Message[] msgs = ev.getMessages();
        System.out.println("Folder: " + folder + " got " + msgs.length + " new messages");
        try {
             // process new messages
            idleManager.watch(folder); // keep watching for new messages
        } catch (MessagingException mex) {
            // handle exception related to the Folder
        }
                        }
    });
idleManager.watch(folder);

以下是堆栈压力。

Exception in thread "main" java.lang.NoSuchMethodError: com.sun.mail.imap.IMAPFolder.getChannel()Ljava/nio/channels/SocketChannel;
    at com.sun.mail.imap.IdleManager.watch(IdleManager.java:201)
    at com.itrack.listener.EmailMessageListener.storeNotification(EmailMessageListener.java:99)
    at com.itrack.listener.EmailMessageListener.main(EmailMessageListener.java:41)

不知道我做错了什么。请协助。

0 个答案:

没有答案