NoClassDefFoundError: javax / активация / источник данных


Это код:

      Session session = Session.getDefaultInstance(props, null);
      Store store = session.getStore("imaps");
      store.connect("imap.gmail.com", "****@gmail.com", "****");
      System.out.println(store);
      Folder folder = store.getDefaultFolder();
      folder = folder.getFolder("INBOX");
      folder.open(Folder.READ_ONLY);

      System.out.println("Message Count: "+folder.getMessageCount());
      System.out.println("Unread Message Count: "+folder.getUnreadMessageCount());


           Message[] messages = folder.getMessages();  --> here the code stops.

      FetchProfile fp = new FetchProfile();
      fp.add(FetchProfile.Item.ENVELOPE);
      folder.fetch(messages, fp);

      for (int i = 0; i< messages.length; i++) 
      { 
          System.out.println("From:"+ messages[i].getFrom()); 
          }

Код выдает следующее восклицание и останавливается в указанной точке.

Исключение в потоке" main " java.яз..NoClassDefFoundError: javax / активация / источник данных на ком.Гугл.код.ком.солнце.почте.протокол IMAP.MessageCache.метод GetMessage(MessageCache.Ява:129) на ком.Гугл.код.ком.солнце.почте.протокол IMAP.IMAPFolder.метод GetMessage(IMAPFolder.Ява:1394) в openReports.OpenReports.main

2 5

2 ответа:

Если вы используете maven, вы можете добавить вручную

<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1</version>
</dependency>

Я добавил активацию.jar построить путь и проблема решена.

Поэтому я использовал 2 банки java-mail-ima.** .Джар, активация.jar (для дальнейших ссылок).